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, ami maximális rugalmasságot és szabályozást tesz lehetővé, ahol szükséges. Ez a cikk azt ismerteti, hogyan futtathat manuálisan DBA-parancsokat, amikor szükség van rá.
Fontos
A Nodetool és a sstable parancsok nyilvános előzetes verzióban érhetők el. Ez a szolgáltatás szolgáltatásiszint-szerződés nélkül érhető el, és éles számítási feladatokhoz nem ajánlott. 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 Azure Managed Instance for Apache Cassandra lehetővé teszi, hogy az Azure CLI-n keresztül futtassa nodetool
és sstable
parancsolja a DBA rutinszerű felügyeletét. Nem minden parancs támogatott, és vannak bizonyos korlátozások. A támogatott parancsokért tekintse meg az alábbi szakaszokat.
Figyelmeztetés
Ezen parancsok némelyike destabilizálhatja a Cassandra-fürtöt, és csak gondosan, nem éles környezetben történő tesztelés után kell futtatni. Ahol lehetséges, először egy --dry-run
lehetőséget kell üzembe helyezni. A Microsoft nem tud SLA-t vagy támogatást nyújtani az alapértelmezett adatbázis-konfigurációt és/vagy táblákat módosító parancsok futtatásával kapcsolatos problémák esetén.
Parancs futtatása nodetool
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 adott alparancsnak üres értékkel kell rendelkeznie a --arguments
szakaszban. Nodetool
az érték nélküli jelölők a következő formában jelennek meg: "<flag>"=""
. Ha a jelölő értéke a következő "<flag>"="value"
: .
Íme egy példa arra, hogyan futtathat egy nodetool
parancsot jelzők nélkül, ebben az esetben 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"=""
Íme egy példa a parancsok jelölővel való futtatására nodetool
, ebben az esetben a nodetool compact
parancsra:
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ő a következő űrlap json-értékét adja vissza:
{
"commandErrorOutput": "",
"commandOutput": "<result>",
"exitCode": 0
}
A legtöbb esetben előfordulhat, hogy csak a commandOutput vagy az exitCode szükséges. Íme egy példa a commandOutput lekérésére:
az managed-cassandra cluster invoke-command --query "commandOutput" --resource-group $resourceGroupName --cluster-name $clusterName --host $host --command-name nodetool --arguments getstreamthroughput=""
Parancs futtatása sstable
A sstable
parancsok olvasási/írási hozzáférést igényelnek a Cassandra-adatkönyvtárhoz és a Cassandra-adatbázishoz. Ennek megfelelően két további paramétert --cassandra-stop-start true
--readwrite true
kell megadni:
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-felhasználó 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>"
Fontos
A jelszó URL-kódolású (UTF-8) a parancsba való továbbításkor, ami azt jelenti, hogy a következő szabályok érvényesek:
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.
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>"
Fontos
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:
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.
A sstable-tree
parancs lehetővé teszi a felhasználó számára a 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 a felhasználó számára, hogy egy bizonyos idő előtt létrehozott sstable-jait törölje.
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>"
A Datetime argumentumot a fent látható módon kell formázni. A --dry-run="" argumentumot is hozzáadhatja argumentumként, hogy lássa, mely fájlok lesznek törölve.
Támogatott sstable
parancsok listája
További információ az egyes parancsokról: https://cassandra.apache.org/doc/latest/cassandra/tools/sstable/index.html
sstableverify
sstablescrub
sstablemetadata
sstablelevelreset
sstableutil
sstablesplit
sstablerepairedset
sstableofflinerelevel
sstableexpiredblockers
Támogatott nodetool
parancsok listája
További információ az egyes parancsokról: https://cassandra.apache.org/doc/latest/cassandra/tools/nodetool/nodetool.html
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 használata"keyspace"="table indexname..."
refresh
refreshsizeestimates
reloadlocalschema
replaybatchlog
resetlocalschema
resumehandoff
ring
scrub
setcachecapacity
- argumentumok használata"key-cache-capacity" = "<row-cache-capacity> <counter-cache-capacity>"
setcachekeystosave
- argumentumok használata"key-cache-keys-to-save":"<row-cache-keys-to-save> <counter-cache-keys-to-save>"
setcompactionthreshold
- argumentumok használata"<keyspace>"="<table> <minthreshold> <maxthreshold>
setcompactionthroughput
setconcurrentcompactors
sethintedhandoffthrottlekb
setinterdcstreamthroughput
setstreamthroughput
settimeout
settraceprobability
statusbackup
statusbinary
statusgossip
statushandoff
stop
tablehistograms
tablestats
toppartitions
tpstats
truncatehints
verify
version
viewbuildstatus