Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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 (Database Administrator) handmatig uitvoert wanneer dat nodig is.
Belangrijk
De nodetool opdrachten en sstable opdrachten zijn beschikbaar als openbare preview.
Deze functie wordt geleverd zonder een SLA (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 de 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 die ontstaan door het uitvoeren van opdrachten die de standaarddatabaseconfiguratie of -tabellen wijzigen.
Een nodetool-opdracht uitvoeren
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. De nodetool vlaggen zonder een waarde staan in het formulier <flag>"=". Als de vlag een waarde heeft, staat deze in de vorm <flag>"="value.
In dit voorbeeld ziet u hoe u een nodetool opdracht zonder vlaggen uitvoert. In dit geval is dit 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"=""
In dit voorbeeld ziet u hoe u een nodetool opdracht uitvoert met een vlag. In dit geval is dit 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 JSON in de volgende vorm:
{
"commandErrorOutput": "",
"commandOutput": "<result>",
"exitCode": 0
}
In de meeste gevallen hebt u alleen commandOutput of exitCode. In dit voorbeeld ziet u hoe u alleen commandOutputkrijgt:
az managed-cassandra cluster invoke-command --query "commandOutput" --resource-group $resourceGroupName \
--cluster-name $clusterName --host $host --command-name nodetool --arguments getstreamthroughput=""
Een sstable-opdracht uitvoeren
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 de cassandra-reset-password opdracht kan een gebruiker het wachtwoord voor Cassandra 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>"
Het wachtwoord is URL-gecodeerd (UTF-8) in deze opdracht, wat betekent dat de volgende regels van toepassing zijn:
- De alfanumerieke tekens
adoorz,AdoorZen0door9blijven hetzelfde. - De speciale tekens
.,-, en*_blijven hetzelfde. - Het spatieteken wordt geconverteerd naar een plusteken (
+). - Alle andere tekens zijn onveilig en worden eerst geconverteerd naar een of meer bytes met behulp van een coderingsschema. De tekenreeks
%xymet drie tekens vertegenwoordigt elke byte, waarbijxyde hexadecimale weergave van de byte met twee cijfers is.
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>"
De datacenters zijn URL-gecodeerd (UTF-8) wanneer ze worden doorgegeven aan deze opdracht, wat betekent dat de volgende regels van toepassing zijn:
- De alfanumerieke tekens
adoorz,AdoorZen0door9blijven hetzelfde. - De speciale tekens
.,-, en*_blijven hetzelfde. - Het spatieteken wordt geconverteerd naar een plusteken (
+). - Alle andere tekens zijn onveilig en worden eerst geconverteerd naar een of meer bytes met behulp van een coderingsschema. De tekenreeks
%xymet drie tekens vertegenwoordigt elke byte, waarbijxyde hexadecimale weergave van de byte met twee cijfers is.
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-hulpprogramma's voor meer informatie over elke opdracht.
sstableverifysstablescrubsstablemetadatasstablelevelresetsstableutilsstablesplitsstablerepairedsetsstableofflinerelevelsstableexpiredblockers
Lijst met ondersteunde nodetool-opdrachten
Zie Nodetool gebruiken voor meer informatie over elke opdracht.
statuscleanupclearsnapshotcompactcompactionhistorycompactionstatsdescribeclusterdescriberingdisableautocompactiondisablehandoffdisablehintsfordcdrainenableautocompactionenablehandoffenablehintsfordcfailuredetectorflushgarbagecollectgcstatsgetcompactionthresholdgetcompactionthroughputgetconcurrentcompactorsgetendpointsgetinterdcstreamthroughputgetlogginglevelsgetsstablesgetstreamthroughputgettimeoutgettraceprobabilitygossipinfoinfoinvalidatecountercacheinvalidatekeycacheinvalidaterowcachelistsnapshotsnetstatspausehandoffproxyhistogramsrangekeysamplerebuild-
rebuild_index: Voor argumenten gebruikt u"keyspace"="table indexname...". refreshrefreshsizeestimatesreloadlocalschemareplaybatchlogresetlocalschemaresumehandoffringscrub-
setcachecapacity: Voor argumenten gebruikt u"key-cache-capacity" = "<row-cache-capacity> <counter-cache-capacity>". -
setcachekeystosave: Voor argumenten gebruikt u"key-cache-keys-to-save":"<row-cache-keys-to-save> <counter-cache-keys-to-save>". -
setcompactionthreshold: Voor argumenten gebruikt u"<keyspace>"="<table> <minthreshold> <maxthreshold>. setcompactionthroughputsetconcurrentcompactorssethintedhandoffthrottlekbsetinterdcstreamthroughputsetstreamthroughputsettimeoutsettraceprobabilitystatusbackupstatusbinarystatusgossipstatushandoffstoptablehistogramstablestatstoppartitionstpstatstruncatehintsverifyversionviewbuildstatus