Gerenciar os recursos da Instância Gerenciada do Azure para Apache Cassandra usando a CLI do Azure
Este artigo descreve comandos comuns para automatizar o gerenciamento de seus clusters e datacenters da Instância Gerenciada do Azure para Apache Cassandra usando a CLI do Azure.
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
Este artigo exige a CLI do Azure versão 2.30.0 ou posterior. Se você está usando o Azure Cloud Shell, a última versão já está instalada.
Importante
Você não pode renomear os recursos da Instância Gerenciada do Azure para Apache Cassandra. Renomear esses recursos viola a forma como o Azure Resource Manager trabalha com URIs de recursos.
Gerenciar clusters
As seções a seguir demonstram como gerenciar a Instância Gerenciada do Azure para Apache Cassandra:
- Criar um cluster
- Excluir um cluster
- Obter os detalhes do cluster
- Obter o status do nó de cluster
- Listar clusters por grupo de recursos
- Listar clusters por ID de assinatura
Criar um cluster
Crie um cluster de Instância Gerenciada do Azure para Apache Cassandra usando o 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 \
Excluir um cluster
Exclua um cluster usando o comando az managed-cassandra cluster delete:
resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
az managed-cassandra cluster delete \
--cluster-name $clusterName \
--resource-group $resourceGroupName
Obter detalhes do cluster
Obtenha detalhes do cluster usando o comando az managed-cassandra cluster show:
resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
az managed-cassandra cluster show \
--cluster-name $clusterName \
--resource-group $resourceGroupName
Obter o status do nó de cluster
Obtenha o status dos nós do cluster usando o comando az managed-cassandra cluster status:
clusterName='cassandra-hybrid-cluster'
resourceGroupName='MyResourceGroup'
az managed-cassandra cluster status \
--cluster-name $clusterName \
--resource-group $resourceGroupName
Listar clusters por grupo de recursos
Liste clusters por grupo de recursos usando o comando az managed-cassandra cluster list:
subscriptionId='MySubscriptionId'
resourceGroupName='MyResourceGroup'
az managed-cassandra cluster list\
--resource-group $resourceGroupName
Listar clusters por ID de assinatura
Liste clusters por ID de assinatura usando o comando az managed-cassandra cluster list:
# Set your subscription ID
az account set -s <subscriptionID>
az managed-cassandra cluster list
Gerenciar datacenters
As seções a seguir demonstram como gerenciar os datacenters da Instância Gerenciada do Azure para Apache Cassandra:
- Criar um datacenter
- Excluir um datacenter
- Obter detalhes do datacenter
- Obter datacenters em um cluster
- Atualizar ou dimensionar um datacenter
- Obter a configuração do Cassandra
- Atualizar a configuração do Cassandra
Criar um datacenter
Crie um datacenter usando o 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
Escolha o valor para --sku
entre as seguintes opções de máquina virtual (VM) disponíveis:
- 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
Atualmente, a Instância Gerenciada do Azure para Apache Cassandra não dá suporte à transição entre famílias de VMs. Por exemplo, se você tiver atualmente uma VM Standard_DS13_v2 e estiver interessado em fazer upgrade para uma VM maior, como Standard_DS14_v2, essa opção não estará disponível. No entanto, você pode abrir um tíquete de suporte para solicitar a atualização.
No comando anterior, --availability-zone
está definido como false
. Para habilitar as zonas de disponibilidade, defina esse valor como true
. As zonas de disponibilidade aumentam o contrato de nível de serviço (SLA) para a disponibilidade do serviço. Para obter mais informações, consulte os detalhes completos do SLA.
Aviso
A Instância Gerenciada do Azure para Apache Cassandra não dá suporte a zonas de disponibilidade em todas as regiões. Se você selecionar uma região em que não há suporte para zonas de disponibilidade, as implantações falharão. Consulte a lista de regiões com suporte.
A implantação bem-sucedida de zonas de disponibilidade também está sujeita à disponibilidade de recursos de computação em todas as zonas de uma região. As implantações podem falhar se a VM ou a capacidade que você selecionou não estiver disponível em todas as zonas.
Excluir um datacenter
Exclua um datacenter usando o 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
Aviso
Se houver mais de um datacenter em seu cluster, será necessário remover todas as referências ao datacenter que você está tentando excluir em qualquer configuração de estratégia de replicação do keyspace primeiro. Esse comando falhará se qualquer keyspace em seu cluster ainda tiver referências ao datacenter.
Obter detalhes do datacenter
Obtenha detalhes do datacenter usando o 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
Atualizar ou dimensionar um datacenter
Atualize ou dimensione um datacenter usando o 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
Para dimensionar um datacenter, altere o valor --node-count
.
Obter a configuração do Cassandra
Obtenha a configuração YAML atual de um nó usando o 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'
Você pode tornar a saída mais legível usando os seguintes comandos:
$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
Atualizar a configuração do Cassandra
Altere a configuração do Cassandra em um datacenter usando o comando: az managed-cassandra datacenter update. Você precisa codificar o fragmento YAML em Base64 usando uma ferramenta online.
Por exemplo, considere o seguinte fragmento YAML:
column_index_size_in_kb: 16
read_request_timeout_in_ms: 10000
Quando codificado, o YAML é convertido em: Y29sdW1uX2luZGV4X3NpemVfaW5fa2I6IDE2CnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAwMA==
.
Aqui está o comando az managed-cassandra datacenter update
com o fragmento YAML codificado:
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
Certifique-se de que as configurações de YAML do Cassandra fornecidas sejam adequadas à sua versão do Cassandra. Consulte as configurações do Cassandra v3.11 e do Cassandra v4.0. Você não tem permissão para atualizar as seguintes configurações do 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
Obter datacenters em um cluster
Obtenha datacenters em um cluster usando o comando az managed-cassandra datacenter list:
resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
az managed-cassandra datacenter list \
--resource-group $resourceGroupName \
--cluster-name $clusterName