Delen via


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 aangepast, afhankelijk van de specifieke behoeften van elke workload. Deze functie biedt maximale flexibiliteit en controle waar nodig. In dit artikel wordt beschreven hoe u DBA-opdrachten handmatig uitvoert wanneer de noodzaak zich voordoet.

Belangrijk

Nodetool en sstable opdrachten zijn beschikbaar als openbare preview.

Deze functie wordt geleverd zonder service level agreement. Deze functie 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 nodetool- en sstable-opdrachten uitvoeren met behulp van Azure CLI voor routine-DBA-beheer. Niet alle opdrachten worden ondersteund en er zijn enkele beperkingen. Zie de volgende secties voor ondersteunde opdrachten.

Waarschuwing

Sommige van deze opdrachten kunnen het Cassandra-cluster stabiliseren. Gebruik deze opdrachten alleen zorgvuldig en na het testen in niet-productieomgevingen. Implementeer waar mogelijk eerst een --dry-run optie. Microsoft biedt geen SLA of ondersteuning 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 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 de volgende vorm:

{
    "commandErrorOutput": "",
    "commandOutput": "<result>",
    "exitCode": 0
}

In de meeste gevallen hebt u alleen de commandOutput of de exitCode. Hier volgt een voorbeeld voor alleen het krijgen van het 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. Geef deze twee parameters op om aan deze vereiste te voldoen: --cassandra-stop-start true en --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
}

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) in 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 datetime argument moet worden opgemaakt zoals wordt weergegeven in het voorbeeld. U kunt ook toevoegen --dry-run="" als argument om te zien welke bestanden de opdracht verwijdert.

Lijst met ondersteunde sstable opdrachten

Zie SSTable Tools voor meer informatie over elke opdracht.

  • sstableverify
  • sstablescrub
  • sstablemetadata
  • sstablelevelreset
  • sstableutil
  • sstablesplit
  • sstablerepairedset
  • sstableofflinerelevel
  • sstableexpiredblockers

Lijst met ondersteunde nodetool opdrachten

Zie Nodetool gebruiken voor meer informatie over elke opdracht.

  • 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

Volgende stappen