DBA-parancsok az Apache Cassandra azure-beli felügyelt példányához

Az Apache Cassandra Azure Managed Instance egy teljesen felügyelt szolgáltatás tiszta nyílt forráskódú Apache Cassandra-fürtökhöz. A szolgáltatás lehetővé teszi a konfigurációk felül bírálását is az egyes számítási feladatok adott igényeitől függően. Ez a funkció maximális rugalmasságot és vezérlést tesz lehetővé, ahol szükséges. Ez a cikk azt ismerteti, hogyan futtathat manuálisan adatbázis-rendszergazdai (DBA-) parancsokat, ha szükséges.

Fontos

A nodetool és sstable parancsok nyilvános előzetes bemutatásban érhetők el. Ezek a parancsok egyelőre várakoznak, kérjük, hozzon létre egy támogatási jegyet egy adott parancs végrehajtásához. Ez ideiglenes korlátozás, és hamarosan megszűnik.

Ez a funkció szolgáltatásszint-szerződés (SLA) nélkül érhető el. Ezt a funkciót éles számítási feladatokhoz nem javasoljuk. További információ: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.

DBA-parancsok támogatása

Az Apache Cassandra Azure Managed Instance-jével futtathat nodetool és sstable parancsokat futtathat az Azure CLI használatával a rutin DBA-felügyelethez. Nem minden parancs támogatott, és vannak korlátozások. A támogatott parancsokért tekintse meg a következő szakaszokat.

Figyelmeztetés

A parancsok némelyike destabilizálhatja a Cassandra klasztert. Ezeket a parancsokat csak gondosan és a nem gyártási környezetekben végzett tesztelés után használja. Ha lehetséges, először helyezzen üzembe egy --dry-run lehetőséget. A Microsoft nem nyújt SLA-t vagy támogatást az alapértelmezett adatbáziskonfigurációt vagy táblákat módosító parancsok futtatásából eredő problémák esetén.

A nodetool-parancsot futtatása

Az Azure Managed Instance for Apache Cassandra a következő Azure CLI-parancsot biztosítja a DBA-parancsok futtatásához:

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

Az alparancsnak üres értékkel kell rendelkeznie a --arguments szakaszban. Az nodetool érték nélküli jelzők <flag>"=" alakban vannak. Ha a zászlónak van értéke, akkor az a formában van: <flag>"="value.

Ez a példa bemutatja, hogyan futtathat parancsokat nodetool jelzők nélkül. Ebben az esetben ez a nodetool status parancs:

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

Ez a példa bemutatja, hogyan futtathat parancsokat nodetool egy jelölővel. Ebben az esetben ez a nodetool compact parancs:

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

Mindkettő JSON-t ad vissza a következő formában:

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

A legtöbb esetben csak a commandOutput vagy a exitCode szükséges. Ez a példa bemutatja, hogyan lehet csak commandOutput megszerezni.

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

Sstable parancs futtatása

A sstable parancsok olvasási/írási hozzáférést igényelnek a Cassandra-adatkönyvtárhoz, és a Cassandra-adatbázist le kell állítani. Ennek a követelménynek a kielégítéséhez adja meg a következő két paramétert: --cassandra-stop-start true és --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
}

Egyéb parancsok futtatása

A cassandra-reset-password parancs lehetővé teszi a felhasználó számára a Cassandra jelszavának módosítását.

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

A jelszó ebben a parancsban URL-címkóddal (UTF-8) van kódolva, ami azt jelenti, hogy a következő szabályok érvényesek:

  • Az alfanumerikus karakterek a-tól z-ig, A-tól Z-ig és 0-tól 9-ig változatlanok maradnak.
  • A speciális karakterek., -és *_ változatlanok maradnak.
  • A szóköz karakterből pluszjel (+) lesz.
  • Az összes többi karakter nem biztonságos, és először egy vagy több bájtra konvertálódik valamilyen kódolási séma használatával. A három karakterből álló sztring %xy minden bájtot jelöl, ahol xy a bájt kétjegyű hexadecimális ábrázolása látható.

A cassandra-reset-auth-replication parancs lehetővé teszi, hogy a felhasználó módosítsa a Cassandra-felhasználó sémáját. Különítse el az adatközpontok nevét szóközzel.

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

Az adatközpontok URL-kódolásúak (UTF-8), amikor a parancsba kerülnek, ami azt jelenti, hogy a következő szabályok érvényesek:

  • Az alfanumerikus karakterek a-tól z-ig, A-tól Z-ig és 0-tól 9-ig változatlanok maradnak.
  • A speciális karakterek., -és *_ változatlanok maradnak.
  • A szóköz karakterből pluszjel (+) lesz.
  • Az összes többi karakter nem biztonságos, és először egy vagy több bájtra konvertálódik valamilyen kódolási séma használatával. A három karakterből álló sztring %xy minden bájtot jelöl, ahol xy a bájt kétjegyű hexadecimális ábrázolása látható.

A sstable-tree parancs lehetővé teszi a felhasználó számára az SSTables megtekintését.

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

A sstable-delete parancs lehetővé teszi, hogy a felhasználó törölje egy bizonyos idő előtt létrehozott SSTable-jait.

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

Az datetime argumentumot a példában látható módon kell formázni. Argumentumként is hozzáadhatja --dry-run="" , hogy lássa, mely fájlokat törli a parancs.

Támogatott sstable parancsok listája

Az egyes parancsokkal kapcsolatos további információkért lásd az SSTable-eszközöket.

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

Támogatott csomóponttool-parancsok listája

Az egyes parancsokról további információt a Nodetool használata című témakörben talál.

  • 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: Argumentumok esetén a "keyspace"="table indexname..." használja.
  • refresh
  • refreshsizeestimates
  • reloadlocalschema
  • replaybatchlog
  • resetlocalschema
  • resumehandoff
  • ring
  • scrub
  • setcachecapacity: Argumentumok esetén a "key-cache-capacity" = "<row-cache-capacity> <counter-cache-capacity>" használja.
  • setcachekeystosave: Argumentumok esetén a "key-cache-keys-to-save":"<row-cache-keys-to-save> <counter-cache-keys-to-save>" használja.
  • setcompactionthreshold: Argumentumok esetén a "<keyspace>"="<table> <minthreshold> <maxthreshold> használja.
  • setcompactionthroughput
  • setconcurrentcompactors
  • sethintedhandoffthrottlekb
  • setinterdcstreamthroughput
  • setstreamthroughput
  • settimeout
  • settraceprobability
  • statusbackup
  • statusbinary
  • statusgossip
  • statushandoff
  • stop
  • tablehistograms
  • tablestats
  • toppartitions
  • tpstats
  • truncatehints
  • verify
  • version
  • viewbuildstatus