Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Managed Instance för Apache Cassandra är en fullständigt hanterad tjänst för rena Apache Cassandra-kluster med öppen källkod. Tjänsten tillåter också att konfigurationer åsidosätts, beroende på de specifika behoven för varje arbetsbelastning. Den här funktionen ger maximal flexibilitet och kontroll där det behövs. I den här artikeln beskrivs hur du kör databasadministratörskommandon (DBA) manuellt vid behov.
Viktigt!
Kommandona nodetool och sstable finns i offentlig förhandsversion.
Den här funktionen tillhandahålls utan ett serviceavtal (SLA). Vi rekommenderar inte den här funktionen för produktionsarbetsbelastningar. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
Stöd för DBA-kommandon
Med Azure Managed Instance för Apache Cassandra kan du köra nodetool och sstable kommandon med hjälp av Azure CLI för rutinmässig DBA-administration. Alla kommandon stöds inte och det finns vissa begränsningar. Mer information om kommandon som stöds finns i följande avsnitt.
Varning
Vissa av dessa kommandon kan destabilisera Cassandra-klustret. Använd endast dessa kommandon noggrant och efter testning i icke-produktionsmiljöer. Om möjligt distribuerar du ett --dry-run alternativ först. Microsoft erbjuder inget serviceavtal eller stöd för problem som uppstår vid körning av kommandon som ändrar standarddatabaskonfigurationen eller tabellerna.
Kör ett nodetool-kommando
Azure Managed Instance för Apache Cassandra innehåller följande Azure CLI-kommando för att köra DBA-kommandon:
az managed-cassandra cluster invoke-command --resource-group <rg> \
--cluster-name <cluster> --host <ip of data node> --command-name nodetool \
--arguments "<nodetool-subcommand>"="" "paramerter1"=""
Underkommandot måste finnas i avsnittet --arguments med ett tomt värde. Flaggorna nodetool utan värde finns i formuläret <flag>"=". Om flaggan har ett värde är den i formen <flag>"="value.
Det här exemplet visar hur du kör ett nodetool kommando utan flaggor. I det här fallet är nodetool status det kommandot:
az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> \
--host <ip of data node> --command-name nodetool --arguments "status"=""
Det här exemplet visar hur du kör ett nodetool kommando med en flagga. I det här fallet är nodetool compact det kommandot:
az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> \
--host <ip of data node> --command-name nodetool --arguments "compact"="" "-st"="65678794"
Båda returnerar JSON i följande form:
{
"commandErrorOutput": "",
"commandOutput": "<result>",
"exitCode": 0
}
I de flesta fall behöver du bara commandOutput eller exitCode. Det här exemplet visar hur du hämtar bara commandOutput:
az managed-cassandra cluster invoke-command --query "commandOutput" --resource-group $resourceGroupName \
--cluster-name $clusterName --host $host --command-name nodetool --arguments getstreamthroughput=""
Kör ett sstable-kommando
Kommandona sstable kräver läs-/skrivåtkomst till Cassandra-datakatalogen och Cassandra-databasen ska stoppas. För att tillgodose detta krav anger du följande två parametrar: --cassandra-stop-start true och --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
}
Köra andra kommandon
Med cassandra-reset-password kommandot kan en användare ändra sitt lösenord för 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>"
Lösenordet är URL-kodat (UTF-8) i det här kommandot, vilket innebär att följande regler gäller:
- De alfanumeriska tecknen
atillz,AtillZ, och0till9förblir desamma. - Specialtecken
.,-,*och_förblir desamma. - Blankstegstecknet konverteras till ett plustecken (
+). - Alla andra tecken är osäkra och konverteras först till en eller flera byte med hjälp av ett kodningsschema. Strängen med tre tecken
%xyrepresenterar varje byte, därxyär den tvåsiffriga hexadecimala representationen av bytet.
Med cassandra-reset-auth-replication kommandot kan en användare ändra sitt schema för Cassandra-användaren. Avgränsa datacenternamnen efter blanksteg.
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>"
Datacenter är URL-kodade (UTF-8) när de skickas till det här kommandot, vilket innebär att följande regler gäller:
- De alfanumeriska tecknen
agenomz,AgenomZ, och0genom9förblir desamma. - Specialtecken
.,-,*och_förblir desamma. - Blankstegstecknet konverteras till ett plustecken (
+). - Alla andra tecken är osäkra och konverteras först till en eller flera byte med hjälp av ett kodningsschema. Strängen med tre tecken
%xyrepresenterar varje byte, därxyär den tvåsiffriga hexadecimala representationen av bytet.
Med sstable-tree kommandot kan en användare se sina SSTables.
az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> \
--host <ip of data node> --command-name sstable-tree
Med sstable-delete kommandot kan en användare ta bort sina SSTables som gjordes före en viss tid.
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>"
Argumentet datetime måste formateras enligt exemplet. Du kan också lägga till --dry-run="" som ett argument för att se vilka filer kommandot tar bort.
Lista över sstable-kommandon som stöds
Mer information om varje kommando finns i SSTable-verktyg.
sstableverifysstablescrubsstablemetadatasstablelevelresetsstableutilsstablesplitsstablerepairedsetsstableofflinerelevelsstableexpiredblockers
Lista över nodetool-kommandon som stöds
Mer information om varje kommando finns i Använda nodetool.
statuscleanupclearsnapshotcompactcompactionhistorycompactionstatsdescribeclusterdescriberingdisableautocompactiondisablehandoffdisablehintsfordcdrainenableautocompactionenablehandoffenablehintsfordcfailuredetectorflushgarbagecollectgcstatsgetcompactionthresholdgetcompactionthroughputgetconcurrentcompactorsgetendpointsgetinterdcstreamthroughputgetlogginglevelsgetsstablesgetstreamthroughputgettimeoutgettraceprobabilitygossipinfoinfoinvalidatecountercacheinvalidatekeycacheinvalidaterowcachelistsnapshotsnetstatspausehandoffproxyhistogramsrangekeysamplerebuild-
rebuild_index: För argument använder du"keyspace"="table indexname...". refreshrefreshsizeestimatesreloadlocalschemareplaybatchlogresetlocalschemaresumehandoffringscrub-
setcachecapacity: För argument använder du"key-cache-capacity" = "<row-cache-capacity> <counter-cache-capacity>". -
setcachekeystosave: För argument använder du"key-cache-keys-to-save":"<row-cache-keys-to-save> <counter-cache-keys-to-save>". -
setcompactionthreshold: För argument använder du"<keyspace>"="<table> <minthreshold> <maxthreshold>. setcompactionthroughputsetconcurrentcompactorssethintedhandoffthrottlekbsetinterdcstreamthroughputsetstreamthroughputsettimeoutsettraceprobabilitystatusbackupstatusbinarystatusgossipstatushandoffstoptablehistogramstablestatstoppartitionstpstatstruncatehintsverifyversionviewbuildstatus