Aracılığıyla paylaş


Apache Cassandra için Azure Yönetilen Örneği için DBA komutları

Apache Cassandra için Azure Yönetilen Örneği, saf açık kaynak Apache Cassandra kümeleri için tam olarak yönetilen bir hizmettir. Hizmet, her iş yükünün belirli ihtiyaçlarına bağlı olarak yapılandırmaların geçersiz kılınmasına da olanak tanır. Bu özellik gerektiğinde maksimum esneklik ve denetim sağlar. Bu makalede, ihtiyaç duyulduğunda DBA komutlarının el ile nasıl çalıştırıldığı açıklanmaktadır.

Önemli

Nodetool ve sstable komutları genel önizleme aşamasındadır.

Bu özellik, hizmet düzeyi sözleşmesi olmadan sağlanır. Bu özelliği üretim iş yükleri için önermiyoruz. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri Ek Kullanım Koşulları.

DBA komut desteği

Apache Cassandra için Azure Yönetilen Örneği, rutin DBA yönetimi için Azure CLI kullanarak nodetool ve sstable komutlarını çalıştırmanıza olanak tanır. Tüm komutlar desteklenmez ve bazı sınırlamalar vardır. Desteklenen komutlar için aşağıdaki bölümlere bakın.

Uyarı

Bu komutlardan bazıları Cassandra kümesinin istikrarını bozabilir. Bu komutları yalnızca üretim dışı ortamlarda test ettikten sonra dikkatli bir şekilde kullanmanız gerekir. Mümkünse, önce bir --dry-run seçenek dağıtın. Microsoft, varsayılan veritabanı yapılandırmasını ve/veya tablolarını değiştiren komutları çalıştırmayla ilgili sorunlar için herhangi bir SLA veya destek sunmaz.

Komut çalıştırma nodetool

Apache Cassandra için Azure Yönetilen Örneği, DBA komutlarını çalıştırmak için aşağıdaki Azure CLI komutunu sağlar:

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

Alt komutun boş bir değerle --arguments bölümünde olması gerekir. Nodetool değeri olmayan bayraklar şu biçimdedir: "<flag>"="". Bayrağın bir değeri varsa, şu biçimdedir: "<flag>"="value".

Aşağıda bayrağı olmayan bir nodetool komutu çalıştırma örneği verilmiştir. Bu örnekte nodetool status komut:

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

Aşağıda bayrağı olan bir nodetool komutu çalıştırma örneği verilmiş ve bu örnekte komutu verilmişti nodetool compact :

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

Her ikisi de aşağıdaki biçimde bir json döndürür:

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

Çoğu durumda yalnızca commandOutput veya exitCode öğesine ihtiyacınız vardır. İşte yalnızca commandOutput almak için bir örnek:

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

Komut çalıştırma sstable

Komutlar sstable Cassandra veri dizinine ve Cassandra veritabanına okuma/yazma erişiminin durdurulmasını gerektirir. Bu gereksinimi karşılamak için şu iki parametreyi belirtin: --cassandra-stop-start true ve --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
}

Diğer komutları çalıştırma

komutu cassandra-reset-password , kullanıcının Cassandra kullanıcısının parolasını değiştirmesine olanak tanır.

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

Önemli

Parola, bu komutta URL ile kodlanmış (UTF-8) olduğundan aşağıdaki kurallar geçerlidir:

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

komutu cassandra-reset-auth-replication , kullanıcının Cassandra kullanıcısının şemasını değiştirmesine olanak tanır. Veri merkezi adlarını alana göre ayırın.

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

Önemli

Veri merkezleri, bu komuta geçirildiğinde URL kodlanmış (UTF-8) olur ve bu da aşağıdaki kuralların geçerli olduğu anlamına gelir:

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

komutu sstable-tree , kullanıcının sstable'larını görmesine olanak tanır.

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

sstable-delete komutu, kullanıcının belirli bir süreden önce yaptığı sstable'ları silmesini sağlar.

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 argümanı, örnekte gösterildiği gibi biçimlendirilmelidir. Komutun hangi dosyaları sildiğine bakmak için bağımsız değişken olarak da ekleyebilirsiniz --dry-run="" .

Desteklenen sstable komutların listesi

Her komut hakkında daha fazla bilgi için bkz. SSTable Araçları.

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

Desteklenen nodetool komutların listesi

Her komut hakkında daha fazla bilgi için bkz. Nodetool kullanma.

  • 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 - bağımsız değişkenler için kullanın "keyspace"="table indexname..."
  • refresh
  • refreshsizeestimates
  • reloadlocalschema
  • replaybatchlog
  • resetlocalschema
  • resumehandoff
  • ring
  • scrub
  • setcachecapacity - bağımsız değişkenler için kullanın "key-cache-capacity" = "<row-cache-capacity> <counter-cache-capacity>"
  • setcachekeystosave - bağımsız değişkenler için kullanın "key-cache-keys-to-save":"<row-cache-keys-to-save> <counter-cache-keys-to-save>"
  • setcompactionthreshold - bağımsız değişkenler için kullanın "<keyspace>"="<table> <minthreshold> <maxthreshold>
  • setcompactionthroughput
  • setconcurrentcompactors
  • sethintedhandoffthrottlekb
  • setinterdcstreamthroughput
  • setstreamthroughput
  • settimeout
  • settraceprobability
  • statusbackup
  • statusbinary
  • statusgossip
  • statushandoff
  • stop
  • tablehistograms
  • tablestats
  • toppartitions
  • tpstats
  • truncatehints
  • verify
  • version
  • viewbuildstatus

Sonraki adımlar