Gestire le risorse di Azure Istanza gestita per Apache Cassandra usando l'interfaccia della riga di comando di Azure

Questo articolo descrive i comandi comuni per automatizzare la gestione dei Istanza gestita di Azure per cluster e data center Apache Cassandra usando l'interfaccia della riga di comando di Azure.

Prerequisiti

Questo articolo richiede l'interfaccia della riga di comando di Azure versione 2.30.0 o successiva. Se si usa Azure Cloud Shell, la versione più recente è già installata.

Importante

Non è possibile rinominare Gestisci Istanza gestita di Azure per le risorse di Apache Cassandra. La ridenominazione di queste risorse viola il funzionamento di Azure Resource Manager con gli URI delle risorse.

Gestire i cluster

Le sezioni seguenti illustrano come gestire i Istanza gestita di Azure per i cluster Apache Cassandra:

Creare un cluster

Creare un Istanza gestita di Azure per il cluster Apache Cassandra usando il comando az managed-cassandra cluster create:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
location='West US'
delegatedManagementSubnetId='/subscriptions/<subscription id>/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management'
initialCassandraAdminPassword='myPassword'

# You can override the cluster name if the original name is not legal for an Azure resource:
# overrideClusterName='ClusterNameIllegalForAzureResource'
# The default Cassandra version is v3.11

az managed-cassandra cluster create \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName \
    --location $location \
    --delegated-management-subnet-id $delegatedManagementSubnetId \
    --initial-cassandra-admin-password $initialCassandraAdminPassword \

Eliminare un cluster

Eliminare un cluster usando il comando az managed-cassandra cluster delete :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'

az managed-cassandra cluster delete \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName

Ottenere i dettagli del cluster

Ottenere i dettagli del cluster usando il comando az managed-cassandra cluster show :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'

az managed-cassandra cluster show \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName

Ottenere lo stato del nodo del cluster

Ottenere lo stato dei nodi del cluster usando il comando az managed-cassandra cluster node-status :

clusterName='cassandra-hybrid-cluster'
resourceGroupName='MyResourceGroup'

az managed-cassandra cluster status \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName

Elencare i cluster per gruppo di risorse

Elencare i cluster per gruppo di risorse usando il comando az managed-cassandra cluster list :

subscriptionId='MySubscriptionId'
resourceGroupName='MyResourceGroup'

az managed-cassandra cluster list\
    --resource-group $resourceGroupName

Elencare i cluster in base all'ID sottoscrizione

Elencare i cluster in base all'ID sottoscrizione usando il comando az managed-cassandra cluster list :

# Set your subscription ID
az account set -s <subscriptionID>

az managed-cassandra cluster list

Gestire i data center

Le sezioni seguenti illustrano come gestire Istanza gestita di Azure per i data center di Apache Cassandra:

Creare un data center

Creare un data center usando il comando az managed-cassandra datacenter create :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'
dataCenterLocation='eastus2'
delegatedSubnetId='/subscriptions/<SubscriptionID>/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1-subnet'
virtualMachineSKU='Standard_D8s_v4'
noOfDisksPerNode=4

az managed-cassandra datacenter create \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName \
    --data-center-location $dataCenterLocation \
    --delegated-subnet-id $delegatedSubnetId \
    --node-count 3 
    --sku $virtualMachineSKU \
    --disk-capacity $noOfDisksPerNode \
    --availability-zone false

Scegliere il valore per dalle seguenti opzioni disponibili per la macchina virtuale :Choose the value for --sku from the following available virtual machine (VM) options:

  • Standard_E8s_v4
  • Standard_E16s_v4
  • Standard_E20s_v4
  • Standard_E32s_v4
  • Standard_DS13_v2
  • Standard_DS14_v2
  • Standard_D8s_v4
  • Standard_D16s_v4
  • Standard_D32s_v4
  • Standard_L8s_v3
  • Standard_L16s_v3
  • Standard_L32s_v3
  • Standard_L8as_v3
  • Standard_L16as_v3
  • Standard_L32as_v3

Attualmente, Azure Istanza gestita per Apache Cassandra non supporta la transizione tra famiglie di macchine virtuali. Ad esempio, se attualmente si dispone di una macchina virtuale Standard_DS13_v2 e si è interessati all'aggiornamento a una macchina virtuale di dimensioni maggiori, ad esempio Standard_DS14_v2, questa opzione non è disponibile. Tuttavia, è possibile aprire un ticket di supporto per richiedere l'aggiornamento.

Nel comando --availability-zone precedente, è impostato su false. Per abilitare le zone di disponibilità, impostare questo valore su true. Le zone di disponibilità aumentano il contratto di servizio per la disponibilità del servizio. Per altre informazioni, vedere i dettagli completi del contratto di servizio.

Avviso

Azure Istanza gestita per Apache Cassandra non supporta le zone di disponibilità in tutte le aree. Se si seleziona un'area in cui le zone di disponibilità non sono supportate, le distribuzioni avranno esito negativo. Vedere l'elenco delle aree supportate.

La corretta distribuzione delle zone di disponibilità è soggetta anche alla disponibilità delle risorse di calcolo in tutte le zone di un'area. Le distribuzioni potrebbero non riuscire se la macchina virtuale o la capacità selezionata non è disponibile in tutte le zone.

Eliminare un data center

Eliminare un data center usando il comando az managed-cassandra datacenter delete :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'

az managed-cassandra datacenter delete \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName 

Avviso

Se nel cluster sono presenti più data center, è necessario rimuovere prima tutti i riferimenti al data center che si sta tentando di eliminare in qualsiasi impostazione della strategia di replica keyspace. Questo comando avrà esito negativo se i keyspace all'interno del cluster hanno ancora riferimenti al data center.

Ottenere i dettagli del data center

Ottenere i dettagli del data center usando il comando az managed-cassandra datacenter show :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'

az managed-cassandra datacenter show \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName 

Aggiornare o ridimensionare un data center

Aggiornare o ridimensionare un data center usando il comando az managed-cassandra datacenter update :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'

az managed-cassandra datacenter update \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName \
    --node-count 13 

Per ridimensionare un data center, modificare il --node-count valore.

Ottenere la configurazione di Cassandra

Ottenere la configurazione YAML corrente di un nodo usando il comando az managed-cassandra cluster invoke-command :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
commandName='get-cassandra-yaml'
 
az managed-cassandra cluster invoke-command \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --host <ip address> \
    --command-name 'get-cassandra-yaml'

È possibile rendere l'output più leggibile usando i comandi seguenti:

$output = az managed-cassandra cluster invoke-command \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --host <ip address> \
    --command-name 'get-cassandra-yaml' \
    | ConvertFrom-Json
$output.commandOutput

Aggiornare la configurazione di Cassandra

Modificare la configurazione di Cassandra in un data center usando il comando az managed-cassandra datacenter update . È necessario codificare in Base64 il frammento YAML usando uno strumento online.

Si consideri ad esempio il frammento YAML seguente:

column_index_size_in_kb: 16
read_request_timeout_in_ms: 10000

Quando viene codificato, il file YAML viene convertito in : Y29sdW1uX2luZGV4X3NpemVfaW5fa2I6IDE2CnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAwMA==.

Ecco il az managed-cassandra datacenter update comando con il frammento YAML codificato:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'
dataCenterLocation='eastus'
yamlFragment='Y29sdW1uX2luZGV4X3NpemVfaW5fa2I6IDE2CnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAwMA=='

az managed-cassandra datacenter update \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName \
    --base64-encoded-cassandra-yaml-fragment $yamlFragment

Importante

Assicurarsi che le impostazioni YAML di Cassandra specificate siano appropriate per la versione di Cassandra. Vedere le impostazioni di Cassandra v3.11 e le impostazioni di Cassandra v4.0. Non è consentito aggiornare le impostazioni YAML seguenti:

  • cluster_name
  • seed_provider
  • initial_token
  • autobootstrap
  • client_encryption_options
  • server_encryption_options
  • transparent_data_encryption_options
  • audit_logging_options
  • authenticator
  • authorizer
  • role_manager
  • storage_port
  • ssl_storage_port
  • native_transport_port
  • native_transport_port_ssl
  • listen_address
  • listen_interface
  • broadcast_address
  • hints_directory
  • data_file_directories
  • commitlog_directory
  • cdc_raw_directory
  • saved_caches_directory
  • endpoint_snitch
  • partitioner
  • rpc_address
  • rpc_interface

Ottenere i data center in un cluster

Ottenere i data center in un cluster usando il comando az managed-cassandra datacenter list :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'

az managed-cassandra datacenter list \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName

Passaggi successivi