Zarządzanie wystąpieniem zarządzanym platformy Azure dla zasobów apache Cassandra przy użyciu interfejsu wiersza polecenia platformy Azure

W tym artykule opisano typowe polecenia automatyzowania zarządzania wystąpieniem zarządzanym platformy Azure dla klastrów i centrów danych Apache Cassandra przy użyciu interfejsu wiersza polecenia platformy Azure.

Wymagania wstępne

Ten artykuł wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.30.0 lub nowszej. Jeśli używasz usługi Azure Cloud Shell, najnowsza wersja jest już zainstalowana.

Ważne

Nie można zmienić nazwy zarządzania wystąpieniem zarządzanym platformy Azure dla zasobów apache Cassandra. Zmiana nazw tych zasobów narusza sposób działania usługi Azure Resource Manager z identyfikatorami URI zasobów.

Zarządzanie klastrami

W poniższych sekcjach pokazano, jak zarządzać usługą Azure Managed Instance dla klastrów Apache Cassandra:

Tworzenie klastra

Utwórz wystąpienie zarządzane platformy Azure dla klastra Apache Cassandra przy użyciu polecenia 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 \

Usuwanie klastra

Usuń klaster przy użyciu polecenia az managed-cassandra cluster delete :

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

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

Pobieranie szczegółów klastra

Pobierz szczegóły klastra przy użyciu polecenia az managed-cassandra cluster show :

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

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

Pobieranie stanu węzła klastra

Uzyskaj stan węzłów klastra przy użyciu polecenia az managed-cassandra cluster node-status :

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

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

Wyświetlanie listy klastrów według grupy zasobów

Wyświetlanie listy klastrów według grupy zasobów za pomocą polecenia az managed-cassandra cluster list :

subscriptionId='MySubscriptionId'
resourceGroupName='MyResourceGroup'

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

Wyświetlanie listy klastrów według identyfikatora subskrypcji

Wyświetl listę klastrów według identyfikatora subskrypcji przy użyciu polecenia az managed-cassandra cluster list :

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

az managed-cassandra cluster list

Zarządzanie centrami danych

W poniższych sekcjach pokazano, jak zarządzać usługą Azure Managed Instance dla centrów danych Apache Cassandra:

Tworzenie centrum danych

Utwórz centrum danych przy użyciu polecenia 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

Wybierz wartość --sku dla następujących dostępnych opcji maszyny wirtualnej:

  • Standard_E8s_v4
  • Standard_E16s_v4
  • Standard_E20s_v4
  • Standard_E32s_v4
  • Standardowa_DS13_v2
  • Standardowa_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

Obecnie usługa Azure Managed Instance for Apache Cassandra nie obsługuje przenoszenia między rodzinami maszyn wirtualnych. Jeśli na przykład masz obecnie maszynę wirtualną Standard_DS13_v2 i interesuje Cię uaktualnienie do większej maszyny wirtualnej, takiej jak Standard_DS14_v2, ta opcja nie jest dostępna. Możesz jednak otworzyć bilet pomocy technicznej, aby poprosić o uaktualnienie.

W poprzednim poleceniu --availability-zone jest ustawiona wartość false. Aby włączyć strefy dostępności, ustaw tę wartość na true. Strefy dostępności zwiększają umowę dotyczącą poziomu usług (SLA) w celu zapewnienia dostępności usługi. Aby uzyskać więcej informacji, zapoznaj się z pełnymi szczegółami umowy SLA.

Ostrzeżenie

Wystąpienie zarządzane platformy Azure dla usługi Apache Cassandra nie obsługuje stref dostępności we wszystkich regionach. Jeśli wybierzesz region, w którym strefy dostępności nie są obsługiwane, wdrożenia nie powiedzą się. Zobacz listę obsługiwanych regionów.

Pomyślne wdrożenie stref dostępności podlega również dostępności zasobów obliczeniowych we wszystkich strefach w regionie. Wdrożenia mogą zakończyć się niepowodzeniem, jeśli wybrana maszyna wirtualna lub wybrana pojemność nie jest dostępna we wszystkich strefach.

Usuwanie centrum danych

Usuń centrum danych przy użyciu polecenia 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 

Ostrzeżenie

Jeśli w klastrze znajduje się więcej niż jedno centrum danych, musisz najpierw usunąć odwołania do centrum danych, które próbujesz usunąć w ustawieniach strategii replikacji przestrzeni kluczy. To polecenie zakończy się niepowodzeniem, jeśli jakiekolwiek przestrzenie kluczy w klastrze nadal zawierają odwołania do centrum danych.

Pobieranie szczegółów centrum danych

Pobierz szczegóły centrum danych za pomocą polecenia 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 

Aktualizowanie lub skalowanie centrum danych

Zaktualizuj lub przeskaluj centrum danych za pomocą polecenia 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 

Aby skalować centrum danych, zmień --node-count wartość.

Pobieranie konfiguracji bazy danych Cassandra

Pobierz bieżącą konfigurację YAML węzła przy użyciu polecenia 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'

Dane wyjściowe mogą być bardziej czytelne przy użyciu następujących poleceń:

$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

Aktualizowanie konfiguracji bazy danych Cassandra

Zmień konfigurację bazy danych Cassandra w centrum danych przy użyciu polecenia az managed-cassandra datacenter update . Musisz zakodować fragment YAML za pomocą narzędzia online w języku Base64.

Rozważmy na przykład następujący fragment YAML:

column_index_size_in_kb: 16
read_request_timeout_in_ms: 10000

Po zakodowaniu kod yaML jest konwertowany na: Y29sdW1uX2luZGV4X3NpemVfaW5fa2I6IDE2CnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAwMA==.

az managed-cassandra datacenter update Oto polecenie z zakodowanym fragmentem YAML:

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

Ważne

Upewnij się, że podane ustawienia YAML bazy danych Cassandra są odpowiednie dla używanej wersji rozwiązania Cassandra. Zobacz ustawienia bazy danych Cassandra w wersji 3.11 i ustawienia cassandra w wersji 4.0. Nie można zaktualizować następujących ustawień YAML:

  • 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

Pobieranie centrów danych w klastrze

Pobierz centra danych w klastrze przy użyciu polecenia az managed-cassandra datacenter list :

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

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

Następne kroki