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 ditimpa, tergantung pada kebutuhan spesifik setiap beban kerja, memungkinkan fleksibilitas dan kontrol maksimum jika diperlukan. Artikel ini menjelaskan cara menjalankan perintah DBA secara manual saat kebutuhan muncul.

Penting

Perintah nodetool dan stabil berada dalam pratinjau publik. Fitur ini disediakan tanpa perjanjian tingkat layanan, dan tidak disarankan untuk beban kerja produksi. Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Dukungan perintah DBA

Azure Managed Instance for Apache Cassandra memungkinkan Anda menjalankan nodetool perintah dan sstable melalui Azure CLI, untuk administrasi DBA rutin. Tidak semua perintah didukung dan ada beberapa batasan. Untuk perintah yang didukung, lihat bagian di bawah ini.

Peringatan

Beberapa perintah ini dapat menstabilkan kluster cassandra dan hanya boleh dijalankan dengan hati-hati dan setelah diuji di lingkungan non-produksi. Jika memungkinkan --dry-run opsi harus disebarkan terlebih dahulu. Microsoft tidak dapat menawarkan SLA atau dukungan apa pun tentang masalah dengan menjalankan perintah yang mengubah konfigurasi database default dan/atau tabel.

Cara menjalankan nodetool perintah

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 tertentu harus berada di bagian --arguments dengan nilai kosong. Nodetool bendera tanpa nilai berada dalam formulir: "<flag>"="". Jika bendera memiliki nilai, bendera tersebut dalam formulir: "<flag>"="value".

Berikut adalah contoh cara menjalankan nodetool perintah tanpa bendera, dalam hal nodetool status ini perintah :

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

Berikut adalah contoh cara menjalankan nodetool perintah dengan bendera, dalam hal nodetool compact ini perintah :

    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 akan mengembalikan json dari formulir berikut:

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

Dalam kebanyakan kasus, Anda mungkin hanya memerlukan commandOutput atau exitCode. Berikut adalah contoh untuk hanya mendapatkan commandOutput:

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

Cara menjalankan sstable perintah

Perintah sstable memerlukan akses baca/tulis ke direktori data Cassandra dan database Cassandra untuk dihentikan. Untuk mengakomodasi hal ini, dua parameter --cassandra-stop-start true tambahan dan --readwrite true perlu diberikan:

    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
    }

Cara menjalankan perintah lain

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

Penting

Kata sandi dikodekan URL (UTF-8) ketika diteruskan ke perintah ini, yang berarti aturan berikut berlaku:

  • 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.

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

Penting

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

  • 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.

Perintah ini sstable-tree memungkinkan pengguna melihat stabil mereka.

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

Perintah ini sstable-delete memungkinkan pengguna menghapus stabil 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 tanggalwaktu harus diformat seperti yang ditunjukkan di atas. Anda juga dapat menambahkan --dry-run="" sebagai argumen untuk melihat file mana yang akan dihapus.

Daftar perintah yang didukung sstable

Untuk informasi selengkapnya tentang setiap perintah, lihat https://cassandra.apache.org/doc/latest/cassandra/tools/sstable/index.html

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

Daftar perintah yang didukung nodetool

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

Langkah berikutnya