Verwalten von Azure Managed Instance for Apache Cassandra-Ressourcen mithilfe der Azure CLI

Dieser Artikel beschreibt allgemeine Befehle zum Automatisieren der Verwaltung von Azure Managed Instance for Apache Cassandra-Clustern mithilfe der Azure CLI.

Voraussetzungen

  • Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.

  • Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.

    • Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.

    • Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.

    • Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.

Für diesen Artikel ist mindestens Azure CLI, Version 2.30.0 oder höher erforderlich. Bei Verwendung von Azure Cloud Shell ist die aktuelle Version bereits installiert.

Wichtig

Sie können Azure Managed Instance for Apache Cassandra-Ressourcen nicht umbenennen. Das Umbenennen dieser Ressourcen verstößt gegen die Funktionsweise von Azure Resource Manager mit Ressourcen-URIs.

Verwalten von Clustern

In den folgenden Abschnitten wird die Verwaltung von Azure Managed Instance for Apache Cassandra-Clustern veranschaulicht:

Erstellen eines Clusters

Erstellen Sie einen Azure Managed Instance for Apache Cassandra-Cluster mithilfe des Befehls 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 \

Löschen eines Clusters

Löschen Sie einen Cluster mithilfe des Befehls az managed-cassandra cluster delete:

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

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

Abrufen von Clusterdetails

Rufen Sie Clusterdetails mithilfe des Befehls az managed-cassandra cluster show ab:

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

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

Abrufen des Clusterknotenstatus

Rufen Sie den Status von Clusterknoten mithilfe des Befehls az managed-cassandra cluster node-status ab:

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

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

Auflisten von Clustern nach Ressourcengruppe

Listen Sie Cluster mithilfe des Befehls az managed-cassandra cluster list nach Ressourcengruppe auf:

subscriptionId='MySubscriptionId'
resourceGroupName='MyResourceGroup'

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

Auflisten von Clustern nach Abonnement-ID

Listen Sie Cluster mithilfe des Befehls az managed-cassandra cluster list nach Abonnement-ID auf:

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

az managed-cassandra cluster list

Verwalten von Rechenzentren

In den folgenden Abschnitten wird die Verwaltung von Azure Managed Instance for Apache Cassandra-Rechenzentren veranschaulicht:

Erstellen eines Rechenzentrums

Erstellen Sie ein Rechenzentrum mithilfe des Befehls 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

Wählen Sie den Wert für --sku aus den folgenden verfügbaren Optionen für den virtuelle Computer (die VM) aus:

  • 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

Derzeit unterstützt Azure Managed Instance for Apache Cassandra den Übergang zwischen VM-Familien nicht. Beispiel: Wenn Sie derzeit über eine VM des Typs Standard_DS13_v2 verfügen und an einem Upgrade auf eine größere VM wie Standard_DS14_v2 interessiert sind, ist diese Option nicht verfügbar. Sie können jedoch ein Supportticket öffnen, um das Upgrade anzufordern.

Im vorherigen Befehl ist --availability-zone auf false festgelegt. Legen Sie diesen Wert auf true fest, um Verfügbarkeitszonen zu aktivieren. Verfügbarkeitszonen erhöhen die Vereinbarung zum Servicelevel (Service-Level Agreement, SLA) für die Verfügbarkeit des Dienstes. Weitere Informationen finden Sie in den vollständigen SLA-Details.

Warnung

Azure Managed Instance for Apache Cassandra unterstützt Verfügbarkeitszonen nicht in allen Regionen. Wenn Sie eine Region auswählen, in der Verfügbarkeitszonen nicht unterstützt werden, wird die Bereitstellung fehlschlagen. Sehen Sie sich die Liste der unterstützten Regionen an.

Die erfolgreiche Bereitstellung von Verfügbarkeitszonen unterliegt auch der Verfügbarkeit von Computeressourcen in allen Zonen in einer Region. Bereitstellungen können fehlschlagen, wenn die VM oder die von Ihnen ausgewählte Kapazität nicht in allen Zonen verfügbar ist.

Löschen eines Rechenzentrums

Löschen Sie ein Rechenzentrum mithilfe des Befehls 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 

Warnung

Wenn Sie in Ihrem Cluster über mehr als ein Rechenzentren verfügen, müssen Sie zuerst alle Verweise auf das Rechenzentrum entfernen, das Sie in allen Einstellungen für die Schlüsselbereich-Replikationsstrategie löschen möchten. Dieser Befehl wird fehlschlagen, wenn ein Schlüsselbereich innerhalb Ihres Clusters immer noch Referenzen zum Rechenzentrum aufweist.

Abrufen von Details zu Rechenzentren

Rufen Sie Details zu einem Rechenzentrum mithilfe des Befehls az managed-cassandra datacenter show ab:

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

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

Aktualisieren oder Skalieren eines Rechenzentrums

Aktualisieren oder Skalieren Sie ein Rechenzentrums mithilfe des Befehls 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 

Um ein Rechenzentrum zu skalieren, ändern Sie den --node-count-Wert.

Abrufen der Cassandra-Konfiguration

Rufen Sie die aktuelle YAML-Konfiguration eines Knotens mithilfe des Befehls az managed-cassandra cluster invoke-command ab:

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'

Sie können die Ausgabe besser lesbar machen, indem Sie die folgenden Befehle verwenden:

$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

Aktualisieren der Cassandra-Konfiguration

Ändern Sie die Cassandra-Konfiguration in einem Rechenzentrum mithilfe des Befehls az managed-cassandra datacenter update. Sie müssen eine Base64-Codierung für das YAML-Fragment mithilfe eines Onlinetools durchführen.

Betrachten Sie beispielsweise das folgende YAML-Fragment:

column_index_size_in_kb: 16
read_request_timeout_in_ms: 10000

Wenn es codiert ist, wird das YAML in Y29sdW1uX2luZGV4X3NpemVfaW5fa2I6IDE2CnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAwMA== konvertiert.

Hier sehen Sie den az managed-cassandra datacenter update-Befehl mit dem codierten YAML-Fragment:

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

Wichtig

Stellen Sie sicher, dass die von Ihnen bereitgestellten Cassandra YAML-Einstellungen für Ihre Version von Cassandra geeignet sind. Sehen Sie sich die Cassandra v3.11-Einstellungen und die Cassandra v4.0-Einstellungen an. Sie dürfen die folgenden YAML-Einstellungen nicht aktualisieren:

  • 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

Abrufen der Rechenzentren in einem Cluster

Rufen Sie die Rechenzentren in einem Cluster mithilfe des Befehls az managed-cassandra datacenter list ab:

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

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

Nächste Schritte