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
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido su Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Quando richiesto, al primo utilizzo installare l'estensione dell'interfaccia della riga di comando di Azure. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
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
- Eliminare un cluster
- Ottenere i dettagli del cluster
- Ottenere lo stato del nodo del cluster
- Elencare i cluster per gruppo di risorse
- Elencare i cluster in base all'ID sottoscrizione
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 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
- Eliminare un data center
- Ottenere i dettagli del data center
- Ottenere i data center in un cluster
- Aggiornare o ridimensionare un data center
- Ottenere la configurazione di Cassandra
- Aggiornare la configurazione di 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