Hantera Azure Managed Instance för Apache Cassandra-resurser med hjälp av Azure CLI

I den här artikeln beskrivs vanliga kommandon för att automatisera hanteringen av dina Azure Managed Instance för Apache Cassandra-kluster och datacenter med hjälp av Azure CLI.

Förutsättningar

Den här artikeln kräver Azure CLI version 2.30.0 eller senare. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.

Viktigt!

Du kan inte byta namn på Hantera Azure Managed Instance för Apache Cassandra-resurser. Att byta namn på dessa resurser strider mot hur Azure Resource Manager fungerar med resurs-URI:er.

Hantera kluster

Följande avsnitt visar hur du hanterar Azure Managed Instance för Apache Cassandra-kluster:

Skapa ett kluster

Skapa ett Azure Managed Instance för Apache Cassandra-kluster med kommandot 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 \

Ta bort ett kluster

Ta bort ett kluster med kommandot az managed-cassandra cluster delete :

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

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

Hämta klusterinformation

Hämta klusterinformation med kommandot az managed-cassandra cluster show :

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

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

Hämta status för klusternoden

Hämta status för klusternoder med kommandot az managed-cassandra cluster node-status :

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

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

Lista kluster efter resursgrupp

Visa en lista över kluster efter resursgrupp med kommandot az managed-cassandra cluster list :

subscriptionId='MySubscriptionId'
resourceGroupName='MyResourceGroup'

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

Lista kluster efter prenumerations-ID

Visa en lista över kluster efter prenumerations-ID med kommandot az managed-cassandra cluster list :

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

az managed-cassandra cluster list

Hantera datacenter

Följande avsnitt visar hur du hanterar Azure Managed Instance för Apache Cassandra-datacenter:

Skapa ett datacenter

Skapa ett datacenter med kommandot 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

Välj värdet för bland följande tillgängliga alternativ för --sku virtuell dator (VM):

  • 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

För närvarande har Azure Managed Instance för Apache Cassandra inte stöd för övergång mellan vm-familjer. Om du till exempel för närvarande har en Standard_DS13_v2 virtuell dator och är intresserad av att uppgradera till en större virtuell dator, till exempel Standard_DS14_v2, är det här alternativet inte tillgängligt. Du kan dock öppna ett supportärende för att begära uppgraderingen.

I föregående kommando --availability-zone anges till false. Om du vill aktivera tillgänglighetszoner anger du det här värdet till true. Tillgänglighetszoner ökar serviceavtalet (SLA) för tjänstens tillgänglighet. Mer information finns i den fullständiga SLA-informationen.

Varning

Azure Managed Instance för Apache Cassandra stöder inte tillgänglighetszoner i alla regioner. Om du väljer en region där tillgänglighetszoner inte stöds misslyckas distributionerna. Se listan över regioner som stöds.

Den lyckade distributionen av tillgänglighetszoner är också beroende av tillgängligheten för beräkningsresurser i alla zoner i en region. Distributioner kan misslyckas om den virtuella datorn eller den valda kapaciteten inte är tillgänglig i alla zoner.

Ta bort ett datacenter

Ta bort ett datacenter med hjälp av kommandot 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 

Varning

Om du har fler än ett datacenter i klustret måste du först ta bort referenser till det datacenter som du försöker ta bort i valfri strategi för nyckelområdesreplikering. Det här kommandot misslyckas om några nyckelområden i klustret fortfarande har referenser till datacentret.

Hämta information om datacenter

Hämta datacenterinformation med kommandot 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 

Uppdatera eller skala ett datacenter

Uppdatera eller skala ett datacenter med hjälp av kommandot 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 

Ändra värdet om --node-count du vill skala ett datacenter.

Hämta Cassandra-konfigurationen

Hämta den aktuella YAML-konfigurationen för en nod med kommandot 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'

Du kan göra utdata mer läsbara med hjälp av följande kommandon:

$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

Uppdatera Cassandra-konfigurationen

Ändra Cassandra-konfigurationen i ett datacenter med hjälp av kommandot az managed-cassandra datacenter update . Du måste Base64 koda YAML-fragmentet med hjälp av ett onlineverktyg.

Tänk till exempel på följande YAML-fragment:

column_index_size_in_kb: 16
read_request_timeout_in_ms: 10000

När den är kodad konverteras YAML till: Y29sdW1uX2luZGV4X3NpemVfaW5fa2I6IDE2CnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAwMA==.

Här är az managed-cassandra datacenter update kommandot med det kodade YAML-fragmentet:

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

Viktigt!

Se till att de Cassandra YAML-inställningar som du anger är lämpliga för din version av Cassandra. Se inställningarna för Cassandra v3.11 och Cassandra v4.0. Du får inte uppdatera följande YAML-inställningar:

  • 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

Hämta datacenter i ett kluster

Hämta datacenter i ett kluster med kommandot az managed-cassandra datacenter list :

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

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

Nästa steg