Bagikan melalui


Perintah DBA untuk Azure Managed Instance for Apache Cassandra

Azure Managed Instance for Apache Cassandra adalah layanan terkelola penuh untuk kluster Apache Cassandra sumber terbuka murni. Layanan ini juga memungkinkan konfigurasi untuk diganti, tergantung pada kebutuhan spesifik setiap beban kerja. Fitur ini memungkinkan fleksibilitas dan kontrol maksimum jika diperlukan. Artikel ini menjelaskan cara menjalankan perintah administrator database (DBA) secara manual jika diperlukan.

Penting

nodetool dan sstable perintah berada dalam pratinjau publik.

Fitur ini disediakan tanpa perjanjian tingkat layanan (SLA). Kami tidak merekomendasikan fitur ini untuk beban kerja produksi. Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Dukungan perintah DBA

Dengan Azure Managed Instance for Apache Cassandra, Anda dapat menjalankan nodetool perintah dan sstable dengan menggunakan Azure CLI untuk administrasi DBA rutin. Tidak semua perintah didukung, dan ada beberapa batasan. Untuk perintah yang didukung, lihat bagian berikut ini.

Peringatan

Beberapa perintah ini dapat mendesstabilisasi kluster Cassandra. Hanya gunakan perintah ini dengan hati-hati dan setelah pengujian di lingkungan nonproduksi. Jika memungkinkan, gunakan opsi --dry-run lebih dahulu. Microsoft tidak menawarkan SLA atau dukungan apa pun tentang masalah yang muncul dari menjalankan perintah yang mengubah konfigurasi atau tabel database default.

Menjalankan perintah nodetool

Azure Managed Instance for Apache Cassandra menyediakan perintah Azure CLI berikut untuk menjalankan perintah DBA:

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

Subperindakan harus berada di bagian --arguments dengan nilai kosong. Bendera nodetool tanpa nilai berada dalam formulir <flag>"=". Jika flag memiliki nilai, itu dalam bentuk <flag>"="value.

Contoh ini menunjukkan cara menjalankan nodetool perintah tanpa bendera. Dalam hal ini, perintahnya adalah nodetool status.

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

Contoh ini menunjukkan cara menjalankan nodetool perintah dengan bendera. Dalam kasus ini, perintah nodetool compact adalah:

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

Keduanya mengembalikan JSON dalam formulir berikut:

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

Dalam kebanyakan kasus, Anda hanya perlu commandOutput atau exitCode. Contoh ini menunjukkan cara mendapatkan hanya commandOutput:

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

Menjalankan perintah sstable

Perintah sstable memerlukan akses baca/tulis ke direktori data Cassandra dan database Cassandra untuk dihentikan. Untuk mengakomodasi persyaratan ini, tentukan dua parameter ini: --cassandra-stop-start true dan --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
}

Jalankan perintah lain

Perintah ini cassandra-reset-password memungkinkan pengguna mengubah kata sandi mereka untuk 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>"

Kata sandi dikodekan URL (UTF-8) dalam perintah ini, yang berarti bahwa aturan berikut berlaku:

  • Karakter alfanumerik a melalui z, A melalui Z, dan 0 melalui 9 tetap sama.
  • Karakter .khusus , , -*, dan _ tetap sama.
  • Karakter spasi dikonversi menjadi tanda plus (+).
  • Semua karakter lain tidak aman dan lebih dulu dikonversi menjadi satu atau beberapa byte dengan menggunakan beberapa sistem pengkodean. String %xy tiga karakter mewakili setiap byte, di mana xy adalah representasi heksadesimal dua digit dari byte.

Perintah ini cassandra-reset-auth-replication memungkinkan pengguna mengubah skema mereka untuk pengguna Cassandra. Pisahkan nama pusat data menurut spasi.

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

Pusat data dikodekan URL (UTF-8) saat diteruskan ke perintah ini, yang berarti bahwa aturan berikut berlaku:

  • Karakter alfanumerik a melalui z, A melalui Z, dan 0 melalui 9 tetap sama.
  • Karakter .khusus , , -*, dan _ tetap sama.
  • Karakter spasi dikonversi menjadi tanda plus (+).
  • Semua karakter lain tidak aman dan dikonversi terlebih dahulu menjadi satu atau beberapa byte menggunakan skema pengodean tertentu. String %xy tiga karakter mewakili setiap byte, di mana xy adalah representasi heksadesimal dua digit dari byte.

Perintah sstable-tree memungkinkan pengguna untuk melihat SSTables mereka.

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

Perintah sstable-delete memungkinkan pengguna untuk menghapus SSTables mereka yang dibuat sebelum waktu tertentu.

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

Argumen datetime harus diformat seperti yang ditunjukkan dalam contoh. Anda juga dapat menambahkan --dry-run="" sebagai argumen untuk melihat file mana yang dihapus perintah.

Daftar perintah sstable yang didukung

Untuk informasi selengkapnya tentang setiap perintah, lihat Alat SSTable.

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

Daftar perintah nodetool yang didukung

Untuk informasi selengkapnya tentang setiap perintah, lihat Menggunakan 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: Untuk argumen, gunakan "keyspace"="table indexname...".
  • refresh
  • refreshsizeestimates
  • reloadlocalschema
  • replaybatchlog
  • resetlocalschema
  • resumehandoff
  • ring
  • scrub
  • setcachecapacity: Untuk argumen, gunakan "key-cache-capacity" = "<row-cache-capacity> <counter-cache-capacity>".
  • setcachekeystosave: Untuk argumen, gunakan "key-cache-keys-to-save":"<row-cache-keys-to-save> <counter-cache-keys-to-save>".
  • setcompactionthreshold: Untuk argumen, gunakan "<keyspace>"="<table> <minthreshold> <maxthreshold>.
  • setcompactionthroughput
  • setconcurrentcompactors
  • sethintedhandoffthrottlekb
  • setinterdcstreamthroughput
  • setstreamthroughput
  • settimeout
  • settraceprobability
  • statusbackup
  • statusbinary
  • statusgossip
  • statushandoff
  • stop
  • tablehistograms
  • tablestats
  • toppartitions
  • tpstats
  • truncatehints
  • verify
  • version
  • viewbuildstatus