Gerenciar 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 sua Instância Gerenciada do Azure para clusters e datacenters Apache Cassandra usando a CLI do Azure.
Pré-requisitos
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
Este artigo requer a CLI do Azure versão 2.30.0 ou posterior. Se você estiver usando o Azure Cloud Shell, a versão mais recente já está instalada.
Importante
Não é possível renomear Gerenciar Instância Gerenciada do Azure para recursos do Apache Cassandra. Renomear esses recursos viola como o Azure Resource Manager funciona com URIs de recursos.
Gerir clusters
As seções a seguir demonstram como gerenciar a Instância Gerenciada do Azure para clusters Apache Cassandra:
- Criar um cluster
- Eliminar um cluster
- Obter detalhes do cluster
- Obter o status do nó do cluster
- Listar clusters por grupo de recursos
- Listar clusters por ID de assinatura
Criar um cluster
Crie uma Instância Gerenciada do Azure para o cluster 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 \
Eliminar 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ó do cluster
Obtenha o status dos nós de 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 a Instância Gerenciada do Azure para datacenters 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 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
uma das 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 oferece suporte à transição entre famílias de VMs. Por exemplo, se você tiver atualmente uma VM Standard_DS13_v2 e estiver interessado em atualizar 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
é definido como false
. Para habilitar 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 oferece suporte a zonas de disponibilidade em todas as regiões. Se você selecionar uma região onde as zonas de disponibilidade não são suportadas, as implantações falharão. Consulte a lista de regiões suportadas.
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 selecionada 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 você tiver mais de um datacenter em seu cluster, deverá remover primeiro todas as referências ao datacenter que está tentando excluir em qualquer configuração de estratégia de replicação de espaço de chave. Este comando falhará se quaisquer espaços-chave dentro do cluster ainda tiverem 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 --node-count
valor.
Obter a configuração 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 Base64 o fragmento YAML 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 az managed-cassandra datacenter update
comando 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 Cassandra YAML que você fornece são apropriadas para sua versão do Cassandra. Consulte as configurações de Cassandra v3.11 e 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 os 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