Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Managed Instance for Apache Cassandra adalah layanan terkelola penuh untuk kluster Apache Cassandra sumber terbuka murni. Layanan ini juga memungkinkan konfigurasi untuk diubah, tergantung pada kebutuhan spesifik setiap beban kerja, agar memberikan fleksibilitas dan kontrol maksimum.
Panduan mulai cepat ini menunjukkan cara menggunakan perintah Azure CLI untuk mengonfigurasi kluster multi-wilayah di Azure.
Prasyarat
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai menggunakan Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Mengautentikasi ke Azure menggunakan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan dan mengelola ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
- Artikel ini memerlukan Azure CLI versi 2.30.0 atau yang lebih baru. Jika menggunakan Azure Cloud Shell, versi terbaru sudah terpasang.
- Gunakan jaringan virtual Azure dengan konektivitas ke lingkungan yang dihost sendiri atau lokal. Untuk informasi selengkapnya tentang cara menyambungkan lingkungan lokal ke Azure, lihat Menyambungkan jaringan lokal ke Azure.
Menyiapkan lingkungan jaringan
Karena semua pusat data yang disediakan dengan layanan ini harus disebarkan ke subnet khusus dengan menggunakan injeksi jaringan virtual, konfigurasikan peering jaringan yang sesuai sebelum penyebaran. Untuk mulai cepat ini, buat kluster dengan dua pusat data di wilayah terpisah: US Timur dan US Timur 2. Pertama, buat jaringan virtual untuk setiap wilayah.
Masuk ke portal Azure.
Buat grup sumber daya bernama
cassandra-mi-multi-region:az group create --location eastus2 --name cassandra-mi-multi-regionBuat jaringan virtual pertama di US Timur 2 dengan subnet khusus:
az network vnet create \ --name vnetEastUs2 \ --location eastus2 \ --resource-group cassandra-mi-multi-region \ --address-prefix 10.0.0.0/16 \ --subnet-name dedicated-subnetBuat jaringan virtual kedua di US Timur, juga dengan subnet khusus:
az network vnet create \ --name vnetEastUs \ --location eastus \ --resource-group cassandra-mi-multi-region \ --address-prefix 192.168.0.0/16 \ --subnet-name dedicated-subnetKami dengan jelas menambahkan rentang alamat IP yang berbeda untuk memastikan tidak ada kesalahan dalam proses peering.
Sambungkan jaringan virtual pertama ke jaringan virtual kedua.
az network vnet peering create \ --resource-group cassandra-mi-multi-region \ --name MyVnet1ToMyVnet2 \ --vnet-name vnetEastUs2 \ --remote-vnet vnetEastUs \ --allow-vnet-access \ --allow-forwarded-trafficUntuk menyambungkan dua jaringan virtual, buat peering lain antara jaringan virtual kedua dan yang pertama:
az network vnet peering create \ --resource-group cassandra-mi-multi-region \ --name MyVnet2ToMyVnet1 \ --vnet-name vnetEastUs \ --remote-vnet vnetEastUs2 \ --allow-vnet-access \ --allow-forwarded-trafficJika Anda menambahkan lebih banyak wilayah, setiap jaringan virtual memerlukan peering darinya ke semua jaringan virtual lainnya, dan dari semua jaringan virtual lainnya ke jaringan virtual tersebut.
Periksa output perintah sebelumnya. Pastikan bahwa nilai dari
peeringStatesekarang adalahConnected. Anda juga dapat memeriksa hasil ini dengan menjalankan perintah berikut:az network vnet peering show \ --name MyVnet1ToMyVnet2 \ --resource-group cassandra-mi-multi-region \ --vnet-name vnetEastUs2 \ --query peeringStateTerapkan beberapa izin khusus ke kedua jaringan virtual. Azure Managed Instance for Apache Cassandra memerlukan izin ini. Jalankan perintah berikut. Ganti
<SubscriptionID>dengan ID Langganan Anda:az role assignment create \ --assignee a232010e-820c-4083-83bb-3ace5fc29d0b \ --role 4d97b98b-1d4f-4787-a291-c67834d212e7 \ --scope /subscriptions/<SubscriptionID>/resourceGroups/cassandra-mi-multi-region/providers/Microsoft.Network/virtualNetworks/vnetEastUs2 az role assignment create \ --assignee a232010e-820c-4083-83bb-3ace5fc29d0b \ --role 4d97b98b-1d4f-4787-a291-c67834d212e7 \ --scope /subscriptions/<SubscriptionID>/resourceGroups/cassandra-mi-multi-region/providers/Microsoft.Network/virtualNetworks/vnetEastUsNilai
assigneedanroledalam perintah sebelumnya adalah nilai tetap. Masukkan nilai-nilai ini persis seperti yang ditunjukkan dalam perintah.
Jika Anda mengalami kesalahan saat menjalankan az role assignment create, Anda mungkin tidak memiliki izin untuk menjalankannya. Tanyakan kepada administrator Anda untuk mendapatkan izin.
Membuat kluster multi-wilayah
Sebarkan sumber daya kluster. Ganti
<Subscription ID>dengan ID Langganan Anda. Proses penyebaran dapat memakan waktu antara 5 sampai 10 menit.resourceGroupName='cassandra-mi-multi-region' clusterName='test-multi-region' location='eastus2' delegatedManagementSubnetId='/subscriptions/<SubscriptionID>/resourceGroups/cassandra-mi-multi-region/providers/Microsoft.Network/virtualNetworks/vnetEastUs2/subnets/dedicated-subnet' initialCassandraAdminPassword='myPassword' az managed-cassandra cluster create \ --cluster-name $clusterName \ --resource-group $resourceGroupName \ --location $location \ --delegated-management-subnet-id $delegatedManagementSubnetId \ --initial-cassandra-admin-password $initialCassandraAdminPassword \ --debugSetelah sumber daya kluster dibuat, Anda siap untuk membuat pusat data. Pertama, buat pusat data di US Timur 2. Ganti
<SubscriptionID>dengan ID Langganan Anda. Tindakan ini dapat memakan waktu hingga 10 menit.resourceGroupName='cassandra-mi-multi-region' clusterName='test-multi-region' dataCenterName='dc-eastus2' dataCenterLocation='eastus2' delegatedManagementSubnetId='/subscriptions/<SubscriptionID>/resourceGroups/cassandra-mi-multi-region/providers/Microsoft.Network/virtualNetworks/vnetEastUs2/subnets/dedicated-subnet' az managed-cassandra datacenter create \ --resource-group $resourceGroupName \ --cluster-name $clusterName \ --data-center-name $dataCenterName \ --data-center-location $dataCenterLocation \ --delegated-subnet-id $delegatedManagementSubnetId \ --node-count 3Buat pusat data di US Timur. Ganti
<SubscriptionID>dengan ID Langganan Anda:resourceGroupName='cassandra-mi-multi-region' clusterName='test-multi-region' dataCenterName='dc-eastus' dataCenterLocation='eastus' delegatedManagementSubnetId='/subscriptions/<SubscriptionID>/resourceGroups/cassandra-mi-multi-region/providers/Microsoft.Network/virtualNetworks/vnetEastUs/subnets/dedicated-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 $delegatedManagementSubnetId \ --node-count 3 --sku $virtualMachineSKU \ --disk-capacity $noOfDisksPerNode \ --availability-zone falseAnda dapat memilih nilai untuk
--skudari tingkat produk 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
Perhatikan juga
--availability-zonediatur kefalse. Untuk mengaktifkan zona ketersediaan, atur ketrue. Zona availabilitas meningkatkan Perjanjian Tingkat Layanan (SLA) untuk ketersediaan layanan. Untuk informasi selengkapnya, lihat Perjanjian tingkat layanan untuk Azure Managed Instance for Apache Cassandra.Zona ketersediaan tidak didukung di semua wilayah. Penyebaran gagal jika Anda memilih wilayah tempat zona ketersediaan tidak didukung. Untuk wilayah yang didukung, lihat Wilayah Azure dengan zona ketersediaan.
Keberhasilan penyebaran zona ketersediaan juga tunduk pada ketersediaan sumber daya komputasi di semua zona di wilayah tertentu. Penyebaran mungkin gagal jika tingkat produk yang Anda pilih, atau kapasitas, tidak tersedia di semua zona.
Setelah pusat data kedua dibuat, dapatkan status simpul untuk memverifikasi bahwa semua simpul Cassandra berhasil muncul:
resourceGroupName='cassandra-mi-multi-region' clusterName='test-multi-region' az managed-cassandra cluster status\ --cluster-name $clusterName \ --resource-group $resourceGroupNameKemudian gunakan CQLSH untuk menyambungkan ke kluster Anda. Gunakan kueri CQL berikut untuk memperbarui strategi replikasi di setiap keyspace untuk menyertakan semua pusat data di seluruh kluster (tabel sistem diperbarui secara otomatis):
ALTER KEYSPACE "ks" WITH REPLICATION = {'class': 'NetworkTopologyStrategy', 'dc-eastus2': 3, 'dc-eastus': 3};Terakhir, jika Anda menambahkan pusat data ke kluster yang sudah berisi data, Anda perlu menjalankan
rebuilduntuk mereplikasi data historis. Dalam hal ini, asumsikan bahwa pusatdc-eastus2data sudah memiliki data. Di Azure CLI, jalankan perintah berikut untuk menjalankannodetool rebuildpada setiap node di pusat datadc-eastusyang baru Anda. Ganti<ip address>dengan alamat IP simpul:az managed-cassandra cluster invoke-command \ --resource-group $resourceGroupName \ --cluster-name $clusterName \ --host <ip address> \ --command-name nodetool --arguments rebuild="" "dc-eastus2"=""Jangan izinkan klien aplikasi menulis ke pusat data baru hingga Anda menerapkan perubahan replikasi keyspace. Jika tidak, rebuild tidak akan berfungsi. Kemudian Anda perlu membuat permintaan dukungan sehingga tim kami dapat menjalankan
repairuntuk Anda.
Pemecahan Masalah
Jika Anda mengalami kesalahan saat menerapkan izin ke jaringan virtual dengan menggunakan Azure CLI, Anda dapat menerapkan izin yang sama secara manual dari portal Microsoft Azure. Contoh kesalahan mungkin "Tidak dapat menemukan pengguna atau perwakilan layanan dalam database grafik untuk e5007d2c-4b13-4a74-9b6a-605d99f03501." Untuk informasi selengkapnya, lihat Menggunakan portal Microsoft Azure untuk menambahkan perwakilan layanan Azure Cosmos DB.
Penetapan peran Azure Cosmos DB digunakan hanya untuk tujuan penyebaran. Azure Managed Instanced for Apache Cassandra tidak memiliki dependensi back-end pada Azure Cosmos DB.
Membersihkan sumber daya
Jika Anda tidak akan terus menggunakan kluster instans terkelola ini, ikuti langkah-langkah berikut untuk menghapusnya:
- Di menu sebelah kiri portal Microsoft Azure, pilih Grup sumber daya.
- Dari daftar, pilih grup sumber daya yang Anda buat untuk quickstart ini.
- Pada panel Ringkasan grup sumber daya, pilih Hapus grup sumber daya.
- Pada panel berikutnya, masukkan nama grup sumber daya yang akan dihapus, lalu pilih Hapus.
Langkah selanjutnya
Dalam panduan cepat ini, Anda mempelajari cara membuat kluster multi-region dengan menggunakan Azure CLI dan Azure Managed Instance for Apache Cassandra. Anda sekarang dapat mulai bekerja dengan kluster.