Udostępnij za pomocą


Polecenia bazy danych dla wystąpienia zarządzanego platformy Azure dla usługi Apache Cassandra

Azure Managed Instance for Apache Cassandra to w pełni zarządzana usługa dla czystych klastrów Apache Cassandra typu open source. Usługa umożliwia również zastępowanie konfiguracji w zależności od konkretnych potrzeb każdego obciążenia. Ta funkcja umożliwia maksymalną elastyczność i kontrolę w razie potrzeby. W tym artykule opisano sposób ręcznego uruchamiania poleceń administratora bazy danych (DBA) w razie potrzeby.

Ważne

Polecenia nodetool i sstable są w publicznej wersji zapoznawczej.

Ta funkcja jest udostępniana bez umowy dotyczącej poziomu usług (SLA). Nie zalecamy korzystania z tej funkcji w przypadku obciążeń produkcyjnych. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.

Obsługa poleceń administratora bazy danych

Za pomocą usługi Azure Managed Instance for Apache Cassandra można uruchamiać polecenia nodetool i sstable za pomocą interfejsu wiersza polecenia platformy Azure w celu rutynowego administrowania bazą danych. Nie wszystkie polecenia są obsługiwane i istnieją pewne ograniczenia. Aby uzyskać obsługiwane polecenia, zobacz następujące sekcje.

Ostrzeżenie

Niektóre z tych poleceń mogą zdestabilizować klaster Cassandra. Te polecenia należy używać dokładnie i po przetestowaniu w środowiskach nieprodukcyjnych. Jeśli to możliwe, najpierw wdróż --dry-run opcję. Firma Microsoft nie oferuje żadnej umowy SLA ani obsługi problemów, które wynikają z uruchamiania poleceń, które zmieniają domyślną konfigurację bazy danych lub tabele.

Uruchamianie polecenia nodetool

Wystąpienie zarządzane platformy Azure dla usługi Apache Cassandra udostępnia następujące polecenie interfejsu wiersza polecenia platformy Azure do uruchamiania poleceń administratora bazy danych:

az managed-cassandra cluster invoke-command --resource-group <rg> \
  --cluster-name <cluster> --host <ip of data node> --command-name nodetool \
  --arguments "<nodetool-subcommand>"="" "paramerter1"="" 

Podpolecenie musi znajdować się w sekcji --arguments z pustą wartością. Flagi nodetool bez wartości mają postać <flag>"=". Jeśli flaga ma wartość, jest w formacie <flag>"="value.

W tym przykładzie pokazano, jak uruchomić nodetool polecenie bez flag. W tym przypadku jest to polecenie nodetool status

az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> \
  --host <ip of data node> --command-name nodetool --arguments "status"="" 

Ten przykład pokazuje, jak uruchomić polecenie nodetool z flagą. W tym przypadku polecenie nodetool compact to:

az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> \
  --host <ip of data node> --command-name nodetool --arguments "compact"="" "-st"="65678794" 

Oba zwracają dane JSON w następującym formacie.

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

W większości przypadków potrzebujesz tylko commandOutput lub exitCode. W tym przykładzie pokazano, jak uzyskać tylko commandOutput:

az managed-cassandra cluster invoke-command --query "commandOutput" --resource-group $resourceGroupName \
  --cluster-name $clusterName --host $host --command-name nodetool --arguments getstreamthroughput=""

Uruchom polecenie sstable

Polecenia sstable wymagają dostępu do odczytu/zapisu do katalogu danych Cassandra i bazy danych Cassandra do zatrzymania. Aby spełnić to wymaganie, określ następujące dwa parametry: --cassandra-stop-start true i --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
}

Uruchamianie innych poleceń

Polecenie cassandra-reset-password umożliwia użytkownikowi zmianę hasła dla bazy danych 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>"

Hasło jest zakodowane w adresie URL (UTF-8) w tym poleceniu, co oznacza, że mają zastosowanie następujące reguły:

  • Znaki alfanumeryczne od a do z, od A do Z oraz od 0 do 9 pozostają takie same.
  • Znaki .specjalne , -, *i _ pozostają takie same.
  • Znak spacji jest konwertowany na znak plus (+).
  • Wszystkie inne znaki są niebezpieczne i są najpierw konwertowane na co najmniej jeden bajt przy użyciu schematu kodowania. Trzyznakowy ciąg %xy reprezentuje każdy bajt, gdzie xy jest dwucyfrową szesnastkową reprezentacją bajtu.

Polecenie cassandra-reset-auth-replication umożliwia użytkownikowi zmianę schematu użytkownika cassandra. Rozdziel nazwy centrów danych spacją.

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>"

Centra danych są kodowane przy użyciu kodowania URL (UTF-8) w momencie przekazania tego polecenia, co oznacza, że mają zastosowanie następujące reguły.

  • Znaki alfanumeryczne od a do z, od A do Z, oraz od 0 do 9 pozostają takie same.
  • Znaki .specjalne , -, *i _ pozostają takie same.
  • Znak spacji jest konwertowany na znak plus (+).
  • Wszystkie inne znaki są niebezpieczne i są najpierw konwertowane na co najmniej jeden bajt przy użyciu schematu kodowania. Trzyliterowy ciąg %xy reprezentuje każdy bajt, gdzie xy jest dwucyfrową szesnastkową reprezentacją bajtu.

Polecenie sstable-tree umożliwia użytkownikowi wyświetlenie ich tabel SSTables.

az managed-cassandra cluster invoke-command --resource-group <rg> --cluster-name <cluster> \
  --host <ip of data node> --command-name sstable-tree

Polecenie sstable-delete umożliwia użytkownikowi usunięcie tabel SSTable, które zostały wykonane przed upływem określonego czasu.

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>"

datetime Argument musi być sformatowany, jak pokazano w przykładzie. Możesz również dodać --dry-run="" jako argument, aby zobaczyć, które pliki usuwa polecenie.

Lista obsługiwanych poleceń sstable

Aby uzyskać więcej informacji na temat każdego polecenia, zobacz narzędzia SSTable.

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

Lista obsługiwanych poleceń nodetool

Aby uzyskać więcej informacji na temat każdego polecenia, zobacz Use nodetool (Używanie narzędzia 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: W przypadku argumentów użyj polecenia "keyspace"="table indexname...".
  • refresh
  • refreshsizeestimates
  • reloadlocalschema
  • replaybatchlog
  • resetlocalschema
  • resumehandoff
  • ring
  • scrub
  • setcachecapacity: W przypadku argumentów użyj polecenia "key-cache-capacity" = "<row-cache-capacity> <counter-cache-capacity>".
  • setcachekeystosave: W przypadku argumentów użyj polecenia "key-cache-keys-to-save":"<row-cache-keys-to-save> <counter-cache-keys-to-save>".
  • setcompactionthreshold: W przypadku argumentów użyj polecenia "<keyspace>"="<table> <minthreshold> <maxthreshold>.
  • setcompactionthroughput
  • setconcurrentcompactors
  • sethintedhandoffthrottlekb
  • setinterdcstreamthroughput
  • setstreamthroughput
  • settimeout
  • settraceprobability
  • statusbackup
  • statusbinary
  • statusgossip
  • statushandoff
  • stop
  • tablehistograms
  • tablestats
  • toppartitions
  • tpstats
  • truncatehints
  • verify
  • version
  • viewbuildstatus