DBA-opdrachten voor Azure Managed Instance voor Apache Cassandra
Azure Managed Instance voor Apache Cassandra is een volledig beheerde service voor pure opensource Apache Cassandra-clusters. Met de service kunnen configuraties ook worden overschreven, afhankelijk van de specifieke behoeften van elke workload, waardoor de maximale flexibiliteit en controle waar nodig mogelijk zijn. In dit artikel wordt beschreven hoe u DBA-opdrachten handmatig uitvoert wanneer de noodzaak zich voordoet.
Belangrijk
Nodetool- en stable-opdrachten zijn beschikbaar als openbare preview. Deze functie wordt geleverd zonder service level agreement en wordt niet aanbevolen voor productieworkloads. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.
Ondersteuning voor DBA-opdrachten
Met Azure Managed Instance voor Apache Cassandra kunt u opdrachten uitvoeren en sstable
opdrachten uitvoeren nodetool
via Azure CLI, voor routine DBA-beheer. Niet alle opdrachten worden ondersteund en er zijn enkele beperkingen. Zie de onderstaande secties voor ondersteunde opdrachten.
Waarschuwing
Sommige van deze opdrachten kunnen het cassandra-cluster stabiliseren en moeten alleen zorgvuldig worden uitgevoerd en nadat ze zijn getest in niet-productieomgevingen. Waar mogelijk moet eerst een --dry-run
optie worden geïmplementeerd. Microsoft kan geen SLA of ondersteuning bieden voor problemen met het uitvoeren van opdrachten die de standaarddatabaseconfiguratie en/of tabellen wijzigen.
Een opdracht uitvoeren nodetool
Azure Managed Instance voor Apache Cassandra biedt de volgende Azure CLI-opdracht voor het uitvoeren van DBA-opdrachten:
az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> --host <ip of data node> --command-name nodetool --arguments "<nodetool-subcommand>"="" "paramerter1"=""
De specifieke subopdracht moet zich in de --arguments
sectie bevinden met een lege waarde. Nodetool
vlaggen zonder waarde zijn in de vorm: "<flag>"=""
. Als de vlag een waarde heeft, heeft deze de volgende notatie: "<flag>"="value"
.
Hier volgt een voorbeeld van het uitvoeren van een nodetool
opdracht zonder vlaggen, in dit geval de nodetool status
opdracht:
az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> --host <ip of data node> --command-name nodetool --arguments "status"=""
Hier volgt een voorbeeld van het uitvoeren van een nodetool
opdracht met een vlag, in dit geval de nodetool compact
opdracht:
az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> --host <ip of data node> --command-name nodetool --arguments "compact"="" "-st"="65678794"
Beide retourneren een json van het volgende formulier:
{
"commandErrorOutput": "",
"commandOutput": "<result>",
"exitCode": 0
}
In de meeste gevallen hebt u mogelijk alleen de commandOutput of de exitCode nodig. Hier volgt een voorbeeld voor het alleen verkrijgen van de commandOutput:
az managed-cassandra cluster invoke-command --query "commandOutput" --resource-group $resourceGroupName --cluster-name $clusterName --host $host --command-name nodetool --arguments getstreamthroughput=""
Een opdracht uitvoeren sstable
De sstable
opdrachten vereisen lees-/schrijftoegang tot de cassandra-gegevensmap en de Cassandra-database om te worden gestopt. Hiervoor moeten twee extra parameters --cassandra-stop-start true
--readwrite true
worden opgegeven:
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
}
Andere opdrachten uitvoeren
Met cassandra-reset-password
de opdracht kan een gebruiker het wachtwoord voor de Cassandra-gebruiker wijzigen.
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>"
Belangrijk
Het wachtwoord is URL-gecodeerd (UTF-8) wanneer het wordt doorgegeven aan deze opdracht, wat betekent dat de volgende regels van toepassing zijn:
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.
Met de cassandra-reset-auth-replication
opdracht kan een gebruiker het schema voor de Cassandra-gebruiker wijzigen. Scheid de namen van het datacenter op afstand.
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>"
Belangrijk
De datacenters zijn URL-gecodeerd (UTF-8) wanneer ze worden doorgegeven aan deze opdracht, wat betekent dat de volgende regels van toepassing zijn:
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.
Met de sstable-tree
opdracht kunnen gebruikers hun sstables zien.
az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> --host <ip of data node> --command-name sstable-tree
Met de sstable-delete
opdracht kan een gebruiker de sstables verwijderen die vóór een bepaalde tijd zijn gemaakt.
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>"
Het argument Datum/tijd moet worden opgemaakt zoals hierboven wordt weergegeven. U kunt ook --dry-run="" toevoegen als argument om te zien welke bestanden worden verwijderd.
Lijst met ondersteunde sstable
opdrachten
Zie voor meer informatie over elke opdracht https://cassandra.apache.org/doc/latest/cassandra/tools/sstable/index.html
sstableverify
sstablescrub
sstablemetadata
sstablelevelreset
sstableutil
sstablesplit
sstablerepairedset
sstableofflinerelevel
sstableexpiredblockers
Lijst met ondersteunde nodetool
opdrachten
Zie voor meer informatie over elke opdracht https://cassandra.apache.org/doc/latest/cassandra/tools/nodetool/nodetool.html
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
- voor argumenten gebruiken"keyspace"="table indexname..."
refresh
refreshsizeestimates
reloadlocalschema
replaybatchlog
resetlocalschema
resumehandoff
ring
scrub
setcachecapacity
- voor argumenten gebruiken"key-cache-capacity" = "<row-cache-capacity> <counter-cache-capacity>"
setcachekeystosave
- voor argumenten gebruiken"key-cache-keys-to-save":"<row-cache-keys-to-save> <counter-cache-keys-to-save>"
setcompactionthreshold
- voor argumenten gebruiken"<keyspace>"="<table> <minthreshold> <maxthreshold>
setcompactionthroughput
setconcurrentcompactors
sethintedhandoffthrottlekb
setinterdcstreamthroughput
setstreamthroughput
settimeout
settraceprobability
statusbackup
statusbinary
statusgossip
statushandoff
stop
tablehistograms
tablestats
toppartitions
tpstats
truncatehints
verify
version
viewbuildstatus