Mengelola sumber daya Azure Managed Instance for Apache Cassandra dengan menggunakan Azure CLI

Artikel ini menjelaskan perintah umum untuk mengotomatiskan manajemen kluster dan pusat data Azure Managed Instance for Apache Cassandra Anda dengan menggunakan Azure CLI.

Prasyarat

Artikel ini memerlukan Azure CLI versi 2.30.0 atau yang lebih baru. Jika menggunakan Azure Cloud Shell, versi terbaru sudah terpasang.

Penting

Anda tidak dapat mengganti nama Kelola Azure Managed Instance untuk sumber daya Apache Cassandra. Mengganti nama sumber daya ini melanggar cara kerja Azure Resource Manager dengan URI sumber daya.

Mengelola kluster

Bagian berikut menunjukkan cara mengelola kluster Azure Managed Instance for Apache Cassandra:

Membuat kluster

Buat kluster Azure Managed Instance for Apache Cassandra dengan menggunakan perintah az managed-cassandra cluster create:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
location='West US'
delegatedManagementSubnetId='/subscriptions/<subscription id>/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management'
initialCassandraAdminPassword='myPassword'

# You can override the cluster name if the original name is not legal for an Azure resource:
# overrideClusterName='ClusterNameIllegalForAzureResource'
# The default Cassandra version is v3.11

az managed-cassandra cluster create \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName \
    --location $location \
    --delegated-management-subnet-id $delegatedManagementSubnetId \
    --initial-cassandra-admin-password $initialCassandraAdminPassword \

Menghapus kluster

Hapus kluster dengan menggunakan perintah az managed-cassandra cluster delete:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'

az managed-cassandra cluster delete \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName

Mendapatan rincian klaster

Dapatkan detail kluster dengan menggunakan perintah az managed-cassandra cluster show:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'

az managed-cassandra cluster show \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName

Mendapatkan status simpul kluster

Dapatkan status node kluster dengan menggunakan perintah az managed-cassandra cluster node-status :

clusterName='cassandra-hybrid-cluster'
resourceGroupName='MyResourceGroup'

az managed-cassandra cluster status \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName

Mendaftar kluster menurut grup sumber daya

Daftar kluster menurut grup sumber daya dengan menggunakan perintah az managed-cassandra cluster list:

subscriptionId='MySubscriptionId'
resourceGroupName='MyResourceGroup'

az managed-cassandra cluster list\
    --resource-group $resourceGroupName

Mendaftar kluster menurut ID langganan

Daftar kluster menurut ID langganan dengan menggunakan perintah az managed-cassandra cluster list:

# Set your subscription ID
az account set -s <subscriptionID>

az managed-cassandra cluster list

Mengelola pusat data

Bagian berikut menunjukkan cara mengelola pusat data Azure Managed Instance for Apache Cassandra:

Membuat pusat data

Buat pusat data dengan menggunakan perintah az managed-cassandra datacenter create:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'
dataCenterLocation='eastus2'
delegatedSubnetId='/subscriptions/<SubscriptionID>/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1-subnet'
virtualMachineSKU='Standard_D8s_v4'
noOfDisksPerNode=4

az managed-cassandra datacenter create \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName \
    --data-center-location $dataCenterLocation \
    --delegated-subnet-id $delegatedSubnetId \
    --node-count 3 
    --sku $virtualMachineSKU \
    --disk-capacity $noOfDisksPerNode \
    --availability-zone false

Pilih nilai untuk --sku dari opsi komputer virtual (VM) berikut yang tersedia:

  • Standard_E8s_v4
  • Standard_E16s_v4
  • Standard_E20s_v4
  • Standard_E32s_v4
  • Standard_DS13_v2
  • Standard_DS14_v2
  • Standard_D8s_v4
  • Standard_D16s_v4
  • Standard_D32s_v4
  • Standard_L8s_v3
  • Standard_L16s_v3
  • Standard_L32s_v3
  • Standard_L8as_v3
  • Standard_L16as_v3
  • Standard_L32as_v3

Saat ini, Azure Managed Instance for Apache Cassandra tidak mendukung transisi di seluruh keluarga VM. Misalnya, jika saat ini Anda memiliki VM Standard_DS13_v2 dan tertarik untuk meningkatkan ke VM yang lebih besar seperti Standard_DS14_v2, opsi ini tidak tersedia. Namun, Anda dapat membuka tiket dukungan untuk meminta peningkatan.

Dalam perintah sebelumnya, --availability-zone diatur ke false. Untuk mengaktifkan zona ketersediaan, atur nilai ini ke true. Zona ketersediaan meningkatkan perjanjian tingkat layanan (SLA) untuk ketersediaan layanan. Untuk informasi selengkapnya, tinjau detail SLA lengkap.

Peringatan

Azure Managed Instance for Apache Cassandra tidak mendukung zona ketersediaan di semua wilayah. Jika Anda memilih wilayah tempat zona ketersediaan tidak didukung, penyebaran akan gagal. Lihat daftar wilayah yang didukung.

Keberhasilan penyebaran zona ketersediaan juga tunduk pada ketersediaan sumber daya komputasi di semua zona di suatu wilayah. Penyebaran mungkin gagal jika VM atau kapasitas yang Anda pilih tidak tersedia di semua zona.

Menghapus pusat data

Hapus pusat data dengan menggunakan perintah az managed-cassandra datacenter delete:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'

az managed-cassandra datacenter delete \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName 

Peringatan

Jika Anda memiliki lebih dari satu pusat data di kluster, Anda harus menghapus referensi apa pun ke pusat data yang coba Anda hapus di pengaturan strategi replikasi keyspace terlebih dahulu. Perintah ini akan gagal jika ada keyspace dalam kluster Anda yang masih memiliki referensi ke pusat data.

Mendapatkan perincian pusat data

Dapatkan detail pusat data dengan menggunakan perintah az managed-cassandra datacenter show:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'

az managed-cassandra datacenter show \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName 

Memperbarui atau menskalakan pusat data

Perbarui atau skalakan pusat data dengan menggunakan perintah az managed-cassandra datacenter update :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'

az managed-cassandra datacenter update \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName \
    --node-count 13 

Untuk menskalakan pusat data, ubah nilainya --node-count .

Mendapatkan konfigurasi Cassandra

Dapatkan konfigurasi YAML node saat ini dengan menggunakan perintah az managed-cassandra cluster invoke-command :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
commandName='get-cassandra-yaml'
 
az managed-cassandra cluster invoke-command \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --host <ip address> \
    --command-name 'get-cassandra-yaml'

Anda dapat membuat output lebih mudah dibaca dengan menggunakan perintah berikut:

$output = az managed-cassandra cluster invoke-command \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --host <ip address> \
    --command-name 'get-cassandra-yaml' \
    | ConvertFrom-Json
$output.commandOutput

Memperbarui konfigurasi Cassandra

Ubah konfigurasi Cassandra pada pusat data dengan menggunakan perintah az managed-cassandra datacenter update . Anda perlu Mengodekan fragmen YAML Base64 dengan menggunakan alat online.

Misalnya, pertimbangkan fragmen YAML berikut:

column_index_size_in_kb: 16
read_request_timeout_in_ms: 10000

Ketika dikodekan, YAML dikonversi menjadi: Y29sdW1uX2luZGV4X3NpemVfaW5fa2I6IDE2CnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAwMA==.

Berikut az managed-cassandra datacenter update perintah dengan fragmen YAML yang dikodekan:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'
dataCenterLocation='eastus'
yamlFragment='Y29sdW1uX2luZGV4X3NpemVfaW5fa2I6IDE2CnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAwMA=='

az managed-cassandra datacenter update \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName \
    --base64-encoded-cassandra-yaml-fragment $yamlFragment

Penting

Pastikan bahwa pengaturan Cassandra YAML yang Anda berikan sesuai untuk versi Cassandra Anda. Lihat pengaturan Cassandra v3.11 dan pengaturan Cassandra v4.0. Anda tidak diizinkan untuk memperbarui pengaturan YAML berikut:

  • cluster_name
  • seed_provider
  • initial_token
  • autobootstrap
  • client_encryption_options
  • server_encryption_options
  • transparent_data_encryption_options
  • audit_logging_options
  • authenticator
  • authorizer
  • role_manager
  • storage_port
  • ssl_storage_port
  • native_transport_port
  • native_transport_port_ssl
  • listen_address
  • listen_interface
  • broadcast_address
  • hints_directory
  • data_file_directories
  • commitlog_directory
  • cdc_raw_directory
  • saved_caches_directory
  • endpoint_snitch
  • partitioner
  • rpc_address
  • rpc_interface

Mendapatkan pusat data dalam kluster

Dapatkan pusat data dalam kluster dengan menggunakan perintah az managed-cassandra datacenter list:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'

az managed-cassandra datacenter list \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName

Langkah berikutnya