Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A Instância Gerenciada do Azure para Apache Cassandra é um serviço totalmente gerenciado para clusters Apache Cassandra de código aberto puro. O serviço também permite que as configurações sejam substituídas, dependendo das necessidades específicas de cada carga de trabalho. Este recurso permite a máxima flexibilidade e controle onde necessário. Este artigo descreve como executar comandos do administrador de banco de dados (DBA) manualmente quando necessário.
Importante
Os nodetool comandos e sstable estão em pré-visualização pública.
Esse recurso é fornecido sem um contrato de nível de serviço (SLA). Não recomendamos esse recurso para cargas de trabalho de produção. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
Suporte a comandos DBA
Com a Instância Gerenciada do Azure para Apache Cassandra, pode executar os comandos nodetool e sstable usando a Azure CLI para administração rotineira do administrador de banco de dados. Nem todos os comandos são suportados e existem algumas limitações. Para obter comandos suportados, consulte as seções a seguir.
Aviso
Alguns desses comandos podem desestabilizar o cluster Cassandra. Use esses comandos apenas com cuidado e após testes em ambientes que não sejam de produção. Sempre que possível, implante uma --dry-run opção primeiro. A Microsoft não oferece nenhum SLA ou suporte em problemas decorrentes da execução de comandos que alteram a configuração ou as tabelas padrão do banco de dados.
Executar um comando nodetool
A Instância Gerenciada do Azure para Apache Cassandra fornece o seguinte comando da CLI do Azure para executar comandos DBA:
az managed-cassandra cluster invoke-command --resource-group <rg> \
--cluster-name <cluster> --host <ip of data node> --command-name nodetool \
--arguments "<nodetool-subcommand>"="" "paramerter1"=""
O subcomando precisa estar na --arguments seção com um valor vazio. As nodetool bandeiras sem um valor estão na forma <flag>"=". Se a bandeira tem um valor, ele está na forma <flag>"="value.
Este exemplo mostra como executar um nodetool comando sem sinalizadores. Neste caso, é o nodetool status comando:
az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> \
--host <ip of data node> --command-name nodetool --arguments "status"=""
Este exemplo mostra como executar um nodetool comando com um sinalizador. Neste caso, é o nodetool compact comando:
az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> \
--host <ip of data node> --command-name nodetool --arguments "compact"="" "-st"="65678794"
Ambos retornam JSON da seguinte forma:
{
"commandErrorOutput": "",
"commandOutput": "<result>",
"exitCode": 0
}
Na maioria dos casos, você precisa apenas commandOutput ou exitCode. Este exemplo mostra como obter apenas commandOutput:
az managed-cassandra cluster invoke-command --query "commandOutput" --resource-group $resourceGroupName \
--cluster-name $clusterName --host $host --command-name nodetool --arguments getstreamthroughput=""
Executar um comando sstable
Os sstable comandos requerem acesso de leitura/gravação ao diretório de dados Cassandra e ao banco de dados Cassandra para serem interrompidos. Para acomodar esse requisito, especifique estes dois parâmetros: --cassandra-stop-start true e --readwrite true.
az managed-cassandra cluster invoke-command --resource-group <test-rg> \
--cluster-name <test-cluster> --host <ip> --cassandra-stop-start true --readwrite true \
--command-name sstableutil --arguments "system"="peers"
{
"commandErrorOutput": "",
"commandOutput": "Listing files...\n/var/lib/cassandra/data/system/peers-37f71aca7dc2383ba70672528af04d4f/me-1-big-CompressionInfo.db\n/var/lib/cassandra/data/system/peers-37f71aca7dc2383ba70672528af04d4f/me-1-big-Data.db\n/var/lib/cassandra/data/system/peers-37f71aca7dc2383ba70672528af04d4f/me-1-big-Digest.crc32\n/var/lib/cassandra/data/system/peers-37f71aca7dc2383ba70672528af04d4f/me-1-big-Filter.db\n/var/lib/cassandra/data/system/peers-37f71aca7dc2383ba70672528af04d4f/me-1-big-Index.db\n/var/lib/cassandra/data/system/peers-37f71aca7dc2383ba70672528af04d4f/me-1-big-Statistics.db\n/var/lib/cassandra/data/system/peers-37f71aca7dc2383ba70672528af04d4f/me-1-big-Summary.db\n/var/lib/cassandra/data/system/peers-37f71aca7dc2383ba70672528af04d4f/me-1-big-TOC.txt\n",
"exitCode": 0
}
Executar outros comandos
O cassandra-reset-password comando permite que um usuário altere sua senha para Cassandra.
az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> \
--host <ip of data node> --command-name cassandra-reset-password --arguments password="<password>"
A senha é codificada por URL (UTF-8) neste comando, o que significa que as seguintes regras se aplicam:
- Os caracteres alfanuméricos
aatéz,AatéZe0até9permanecem os mesmos. - Os caracteres
.especiais ,-,*, e_permanecem os mesmos. - O caractere de espaço é convertido em um sinal de mais (
+). - Todos os outros caracteres não são seguros e são primeiro convertidos em um ou mais bytes usando algum esquema de codificação. A cadeia
%xyde três caracteres representa cada byte, ondexyé a representação hexadecimal de dois dígitos do byte.
O cassandra-reset-auth-replication comando permite que um usuário altere seu esquema para o usuário Cassandra. Separe os nomes do datacenter por espaço.
az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> \
--host <ip of data node> --command-name cassandra-reset-auth-replication \
--arguments password="<datacenters>"
Os datacenters são codificados por URL (UTF-8) quando são passados para este comando, o que significa que as seguintes regras se aplicam:
- Os caracteres alfanuméricos de
aatéz, deAatéZe de0até9permanecem os mesmos. - Os caracteres
.especiais ,-,*, e_permanecem os mesmos. - O caractere de espaço é convertido num sinal de adição (
+). - Todos os outros caracteres não são seguros e são primeiro convertidos em um ou mais bytes usando algum esquema de codificação. A cadeia
%xyde três caracteres representa cada byte, ondexyé a representação hexadecimal de dois dígitos do byte.
O sstable-tree comando permite que um usuário veja seus SSTables.
az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> \
--host <ip of data node> --command-name sstable-tree
O sstable-delete comando permite que um utilizador apague os seus SSTables que foram criados anteriormente a uma data específica.
az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> \
--host <ip of data node> --command-name sstable-delete --arguments datetime="<YYYY-MM-DD hh:mm:ss>"
O datetime argumento deve ser formatado como mostrado no exemplo. Você também pode adicionar --dry-run="" como um argumento para ver quais arquivos o comando exclui.
Lista de comandos sstable suportados
Para obter mais informações sobre cada comando, consulte Ferramentas SSTable.
sstableverifysstablescrubsstablemetadatasstablelevelresetsstableutilsstablesplitsstablerepairedsetsstableofflinerelevelsstableexpiredblockers
Lista de comandos nodetool suportados
Para obter mais informações sobre cada comando, consulte Usar nodetool.
statuscleanupclearsnapshotcompactcompactionhistorycompactionstatsdescribeclusterdescriberingdisableautocompactiondisablehandoffdisablehintsfordcdrainenableautocompactionenablehandoffenablehintsfordcfailuredetectorflushgarbagecollectgcstatsgetcompactionthresholdgetcompactionthroughputgetconcurrentcompactorsgetendpointsgetinterdcstreamthroughputgetlogginglevelsgetsstablesgetstreamthroughputgettimeoutgettraceprobabilitygossipinfoinfoinvalidatecountercacheinvalidatekeycacheinvalidaterowcachelistsnapshotsnetstatspausehandoffproxyhistogramsrangekeysamplerebuild-
rebuild_index: Para argumentos, use"keyspace"="table indexname...". refreshrefreshsizeestimatesreloadlocalschemareplaybatchlogresetlocalschemaresumehandoffringscrub-
setcachecapacity: Para argumentos, use"key-cache-capacity" = "<row-cache-capacity> <counter-cache-capacity>". -
setcachekeystosave: Para argumentos, use"key-cache-keys-to-save":"<row-cache-keys-to-save> <counter-cache-keys-to-save>". -
setcompactionthreshold: Para argumentos, use"<keyspace>"="<table> <minthreshold> <maxthreshold>. setcompactionthroughputsetconcurrentcompactorssethintedhandoffthrottlekbsetinterdcstreamthroughputsetstreamthroughputsettimeoutsettraceprobabilitystatusbackupstatusbinarystatusgossipstatushandoffstoptablehistogramstablestatstoppartitionstpstatstruncatehintsverifyversionviewbuildstatus