Azure Managed Instance voor Apache Cassandra-resources beheren met behulp van de Azure CLI

In dit artikel worden algemene opdrachten beschreven voor het automatiseren van het beheer van uw Azure Managed Instance voor Apache Cassandra-clusters en -datacenters met behulp van de Azure CLI.

Vereisten

Voor dit artikel is Azure CLI versie 2.30.0 of hoger vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.

Belangrijk

U kunt de naam van Azure Managed Instance voor Apache Cassandra-resources niet wijzigen. Het wijzigen van de naam van deze resources is in strijd met de werking van Azure Resource Manager met resource-URI's.

Clusters beheren

In de volgende secties ziet u hoe u Azure Managed Instance voor Apache Cassandra-clusters beheert:

Een cluster maken

Maak een Azure Managed Instance voor Apache Cassandra-cluster met behulp van de opdracht 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 \

Een cluster verwijderen

Verwijder een cluster met behulp van de opdracht az managed-cassandra cluster delete :

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

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

Clusterdetails ophalen

Clusterdetails ophalen met behulp van de opdracht az managed-cassandra cluster show :

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

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

De status van het clusterknooppunt ophalen

Haal de status van clusterknooppunten op met behulp van de opdracht az managed-cassandra cluster node-status :

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

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

Clusters per resourcegroep weergeven

Maak een lijst met clusters per resourcegroep met behulp van de opdracht az managed-cassandra cluster list :

subscriptionId='MySubscriptionId'
resourceGroupName='MyResourceGroup'

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

Clusters weergeven op abonnements-id

Geef clusters weer op abonnements-id met behulp van de opdracht az managed-cassandra cluster list :

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

az managed-cassandra cluster list

Datacenters beheren

In de volgende secties ziet u hoe u Azure Managed Instance voor Apache Cassandra-datacenters beheert:

Een datacenter maken

Maak een datacenter met behulp van de opdracht 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

Kies de waarde voor --sku de volgende beschikbare vm-opties:

  • 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

Op dit moment biedt Azure Managed Instance voor Apache Cassandra geen ondersteuning voor overgang tussen VM-families. Als u momenteel bijvoorbeeld een Standard_DS13_v2 VM hebt en wilt upgraden naar een grotere VM, zoals Standard_DS14_v2, is deze optie niet beschikbaar. U kunt echter een ondersteuningsticket openen om de upgrade aan te vragen.

In de voorgaande opdracht --availability-zone is ingesteld op false. Als u beschikbaarheidszones wilt inschakelen, stelt u deze waarde in op true. Beschikbaarheidszones verhogen de SLA (Service Level Agreement) voor beschikbaarheid van de service. Raadpleeg de volledige SLA-details voor meer informatie.

Waarschuwing

Azure Managed Instance voor Apache Cassandra biedt geen ondersteuning voor beschikbaarheidszones in alle regio's. Als u een regio selecteert waarin beschikbaarheidszones niet worden ondersteund, mislukken implementaties. Bekijk de lijst met ondersteunde regio's.

De succesvolle implementatie van beschikbaarheidszones is ook onderhevig aan de beschikbaarheid van rekenresources in alle zones in een regio. Implementaties kunnen mislukken als de VM of de capaciteit die u hebt geselecteerd, niet beschikbaar is in alle zones.

Een datacenter verwijderen

Verwijder een datacenter met behulp van de opdracht 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 

Waarschuwing

Als u meer dan één datacenter in uw cluster hebt, moet u eerst verwijzingen verwijderen naar het datacenter dat u probeert te verwijderen in instellingen voor keyspace-replicatiestrategie. Deze opdracht mislukt als eventuele keyspaces in uw cluster nog steeds verwijzingen naar het datacenter hebben.

Details van datacenter ophalen

Datacentrumgegevens ophalen met behulp van de opdracht 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 

Een datacenter bijwerken of schalen

Werk een datacenter bij of schaal deze met behulp van de opdracht 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 

Als u een datacenter wilt schalen, wijzigt u de --node-count waarde.

De Cassandra-configuratie ophalen

Haal de huidige YAML-configuratie van een knooppunt op met behulp van de opdracht 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'

U kunt de uitvoer beter leesbaar maken met behulp van de volgende opdrachten:

$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

De Cassandra-configuratie bijwerken

Wijzig de Cassandra-configuratie in een datacenter met behulp van de opdracht az managed-cassandra datacenter update . U moet base64 het YAML-fragment coderen met behulp van een onlinehulpprogramma.

Denk bijvoorbeeld aan het volgende YAML-fragment:

column_index_size_in_kb: 16
read_request_timeout_in_ms: 10000

Wanneer deze is gecodeerd, wordt de YAML geconverteerd naar: Y29sdW1uX2luZGV4X3NpemVfaW5fa2I6IDE2CnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAwMA==.

Dit is de az managed-cassandra datacenter update opdracht met het gecodeerde 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

Belangrijk

Zorg ervoor dat de Cassandra YAML-instellingen die u opgeeft, geschikt zijn voor uw versie van Cassandra. Zie de Cassandra v3.11-instellingen en de Cassandra v4.0-instellingen. U kunt de volgende YAML-instellingen niet bijwerken:

  • 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

De datacenters in een cluster ophalen

Datacentra in een cluster ophalen met behulp van de opdracht az managed-cassandra datacenter list :

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

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

Volgende stappen