Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure Managed Instance para Apache Cassandra es un servicio totalmente administrado para clústeres de Apache Cassandra de código abierto puros. El servicio también permite invalidar las configuraciones, en función de las necesidades específicas de cada carga de trabajo. Esta característica permite la máxima flexibilidad y control cuando sea necesario. En este artículo se describe cómo ejecutar comandos DBA manualmente cuando surge la necesidad.
Importante
Nodetool
y sstable
comandos están en versión preliminar pública.
Esta característica se proporciona sin un Acuerdo de Nivel de Servicio. No se recomienda esta característica para cargas de trabajo de producción. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.
Compatibilidad con comandos DBA
Azure Managed Instance de Apache Cassandra permite ejecutar comandos nodetool
y sstable
mediante Azure CLI para la administración rutinaria de DBA. No se admiten todos los comandos y hay algunas limitaciones. Para ver los comandos admitidos, consulte las secciones siguientes.
Advertencia
Algunos de estos comandos pueden desestabilizar el clúster de Cassandra. Solo debe usar estos comandos cuidadosamente y después de realizar pruebas en entornos que no sean de producción. Siempre que sea posible, implemente primero una --dry-run
opción. Microsoft no ofrece ningún Acuerdo de Nivel de Servicio ni compatibilidad con problemas con la ejecución de comandos que modifican la configuración predeterminada de la base de datos o las tablas.
Procedimiento para ejecutar un comando nodetool
Azure Managed Instance for Apache Cassandra proporciona el siguiente comando de CLI de Azure para ejecutar 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"=""
El subcomando debe estar en la --arguments
sección con un valor vacío. Nodetool
las marcas sin valor tienen el formato: "<flag>"=""
. Si la marca tiene un valor, tiene el formato : "<flag>"="value"
.
Este es un ejemplo de cómo ejecutar un comando nodetool
sin marcas, en este caso el comando nodetool status
:
az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> \
--host <ip of data node> --command-name nodetool --arguments "status"=""
Este es un ejemplo de cómo ejecutar un comando nodetool
sin marcas, en este caso el comando nodetool compact
:
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 devuelven un json de la forma siguiente:
{
"commandErrorOutput": "",
"commandOutput": "<result>",
"exitCode": 0
}
En la mayoría de los casos, solo necesita el commandOutput
o el exitCode
. Este es un ejemplo para obtener solo : commandOutput
az managed-cassandra cluster invoke-command --query "commandOutput" --resource-group $resourceGroupName \
--cluster-name $clusterName --host $host --command-name nodetool --arguments getstreamthroughput=""
Procedimiento para ejecutar un comando sstable
Los comandos sstable
requieren acceso de lectura y escritura al directorio de datos de Cassandra y a la base de datos de Cassandra que se va a detener. Para dar cabida a este requisito, especifique estos dos parámetros: --cassandra-stop-start true
y --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
}
Ejecución de otros comandos
El comando cassandra-reset-password
permite al usuario cambiar su contraseña para el usuario de 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>"
Importante
La contraseña tiene codificación URL (UTF-8) en este comando, lo que significa que se aplican las reglas siguientes:
The alphanumeric characters "a" through "z", "A" through "Z" and "0" through "9" remain the same.
The special characters ".", "-", "*", and "_" remain the same.
The space character " " is converted into a plus sign "+".
All other characters are unsafe and are first converted into one or more bytes using some encoding scheme. Then each byte is represented by the 3-character string "%xy", where xy is the two-digit hexadecimal representation of the byte.
El comando cassandra-reset-auth-replication
permite al usuario cambiar su esquema para el usuario de Cassandra. Separe los nombres del centro de datos por espacio.
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>"
Importante
Los centros de datos tienen codificación URL (UTF-8) cuando se pasan a este comando, lo que significa que se aplican las reglas siguientes:
The alphanumeric characters "a" through "z", "A" through "Z" and "0" through "9" remain the same.
The special characters ".", "-", "*", and "_" remain the same.
The space character " " is converted into a plus sign "+".
All other characters are unsafe and are first converted into one or more bytes using some encoding scheme. Then each byte is represented by the 3-character string "%xy", where xy is the two-digit hexadecimal representation of the byte.
El comando sstable-tree
permite a un usuario ver sus inestables.
az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> \
--host <ip of data node> --command-name sstable-tree
El comando sstable-delete
permite que un usuario elimine sus inestables realizados antes de un tiempo determinado.
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>"
El datetime
argumento debe tener el formato tal como se muestra en el ejemplo. También puede agregar --dry-run=""
como argumento para ver qué archivos elimina el comando.
Lista de comandos sstable
admitidos
Para obtener más información sobre cada comando, consulte Herramientas de SSTable.
sstableverify
sstablescrub
sstablemetadata
sstablelevelreset
sstableutil
sstablesplit
sstablerepairedset
sstableofflinerelevel
sstableexpiredblockers
Lista de comandos nodetool
admitidos
Para obtener más información sobre cada comando, vea Usar Nodetool.
status
cleanup
clearsnapshot
compact
compactionhistory
compactionstats
describecluster
describering
disableautocompaction
disablehandoff
disablehintsfordc
drain
enableautocompaction
enablehandoff
enablehintsfordc
failuredetector
flush
garbagecollect
gcstats
getcompactionthreshold
getcompactionthroughput
getconcurrentcompactors
getendpoints
getinterdcstreamthroughput
getlogginglevels
getsstables
getstreamthroughput
gettimeout
gettraceprobability
gossipinfo
info
invalidatecountercache
invalidatekeycache
invalidaterowcache
listsnapshots
netstats
pausehandoff
proxyhistograms
rangekeysample
rebuild
rebuild_index
- para el uso de argumentos"keyspace"="table indexname..."
refresh
refreshsizeestimates
reloadlocalschema
replaybatchlog
resetlocalschema
resumehandoff
ring
scrub
setcachecapacity
- para el uso de argumentos"key-cache-capacity" = "<row-cache-capacity> <counter-cache-capacity>"
setcachekeystosave
- para el uso de argumentos"key-cache-keys-to-save":"<row-cache-keys-to-save> <counter-cache-keys-to-save>"
setcompactionthreshold
- para el uso de argumentos"<keyspace>"="<table> <minthreshold> <maxthreshold>
setcompactionthroughput
setconcurrentcompactors
sethintedhandoffthrottlekb
setinterdcstreamthroughput
setstreamthroughput
settimeout
settraceprobability
statusbackup
statusbinary
statusgossip
statushandoff
stop
tablehistograms
tablestats
toppartitions
tpstats
truncatehints
verify
version
viewbuildstatus