Hızlı Başlangıç: Apache Cassandra için Azure Yönetilen Örneği ile çok bölgeli küme oluşturma
Apache Cassandra için Azure Yönetilen Örneği, yönetilen açık kaynak Apache Cassandra veri merkezleri için otomatik dağıtım ve ölçeklendirme işlemleri sağlar. Bu hizmet hibrit senaryoları hızlandırmanıza ve devam eden bakımı azaltmanıza yardımcı olur.
Bu hızlı başlangıçta, Azure'da çok bölgeli bir küme yapılandırmak için Azure CLI komutlarının nasıl kullanabileceğiniz gösterildi.
Önkoşullar
Azure Cloud Shell'Da Bash ortamını kullanın.
Dilerseniz CLI başvuru komutlarını çalıştırmak için Azure CLI’yi yükleyebilirsiniz.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Ek oturum açma seçenekleri için bkz. Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantılarını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Bu makale, Azure CLI 2.30.0 veya daha yeni bir sürümü gerektirir. Azure Cloud Shell kullanıyorsanız, en son sürüm zaten yüklüdür.
Şirket içinde barındırılan veya şirket içi ortamınıza bağlantısı olan Azure Sanal Ağı. Şirket içi ortamları Azure'a bağlama hakkında daha fazla bilgi için Bağlan azure ağına bağlanma makalesine bakın.
Ağ ortamını ayarlama
Bu hizmetle sağlanan tüm veri merkezlerinin sanal ağ ekleme kullanılarak ayrılmış alt ağlara dağıtılması gerektiğinden, çok bölgeli kümenizin düzgün çalışmasını sağlamak için dağıtımdan önce uygun ağ eşlemesini yapılandırmanız gerekir. Ayrı bölgelerde iki veri merkezi olan bir küme oluşturuz: Doğu ABD ve Doğu ABD 2. İlk olarak, her bölge için Sanal Ağlar oluşturmamız gerekir.
Azure Portal oturum açın.
"cassandra-mi-multi-region" adlı bir kaynak grubu oluşturma
az group create -l eastus2 -n cassandra-mi-multi-regionAyrılmış bir alt ağ ile Doğu ABD 2 sanal ağı oluşturun:
az network vnet create \ -n vnetEastUs2 \ -l eastus2 \ -g cassandra-mi-multi-region \ --address-prefix 10.0.0.0/16 \ --subnet-name dedicated-subnetŞimdi ayrılmış bir alt ağ ile Doğu ABD sanal ağı oluşturun:
az network vnet create \ -n vnetEastUs \ -l eastus \ -g cassandra-mi-multi-region \ --address-prefix 192.168.0.0/16 \ --subnet-name dedicated-subnetNot
Eşleme sırasında hataya neden olmayan farklı IP adresi aralıklarını açıkça ekleriz.
Şimdi ilk sanal ağı ikinci sanal ağ ile eşlememiz gerekiyor:
az network vnet peering create \ -g cassandra-mi-multi-region \ -n MyVnet1ToMyVnet2 \ --vnet-name vnetEastUs2 \ --remote-vnet vnetEastUs \ --allow-vnet-access \ --allow-forwarded-trafficİki sanal ağı bağlamak için ikinci sanal ağ ile ilk sanal ağ arasında başka bir eşleme oluşturun:
az network vnet peering create \ -g cassandra-mi-multi-region \ -n MyVnet2ToMyVnet1 \ --vnet-name vnetEastUs \ --remote-vnet vnetEastUs2 \ --allow-vnet-access \ --allow-forwarded-trafficNot
Daha fazla bölge eklerse, her sanal ağdan diğer tüm sanal ağlara ve diğer tüm sanal ağlardan buna eşleme gerektirir.
Önceki komutun çıktısını kontrol edin ve "peeringState" değerinin artık "Bağlı" olduğundan emin olun. Aşağıdaki komutu çalıştırarak da bunu kontrol edin:
az network vnet peering show \ --name MyVnet1ToMyVnet2 \ --resource-group cassandra-mi-multi-region \ --vnet-name vnetEastUs2 \ --query peeringStateArdından, her iki Sanal Ağ için apache Cassandra için Azure Yönetilen Örneği tarafından gerekli olan bazı özel izinleri de uygulayabilirsiniz. Aşağıdakini çalıştırın ve yerine abonelik
<SubscriptionID>kimliğinizi girin: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/vnetEastUsNot
Önceki
assigneerolekomutta yer alan ve değerleri sabit değerlerdir, bu değerleri komutta tam olarak belirtildiği gibi girin. Bunu yapmama, küme oluşturulurken hatalara neden olur. Bu komutu yürütürken herhangi bir hatayla karşılaşırsanız çalıştırma izinlerine sahip olamayabilirsiniz, lütfen izinler için yöneticinize ulaşabilirsiniz.
Çok bölgeli küme oluşturma
Artık uygun ağımız olduğu için küme kaynağını dağıtmaya hazırız (yerine abonelik
<Subscription ID>kimliğinizi girin). 5-10 dakika arasında sürebilir: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 \ --debugKüme kaynağı oluşturulduğunda, bir veri merkezi oluşturmak için hazır oluruz. İlk olarak, Doğu ABD 2 (yerine abonelik
<SubscriptionID>kimliğinizi girin) bir veri merkezi oluşturun. Bu 10 dakika kadar sürebilir: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 3Ardından, Doğu ABD (yerine abonelik
<SubscriptionID>kimliğinizi girin) bir veri merkezi oluşturun: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 falseNot
için
--skudeğer, aşağıdaki kullanılabilir SKUS'lardan seçilebilir:- 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
ayrıca olarak
--availability-zoneayarlanmış olduğunu dafalseunutmayın. Kullanılabilirlik bölgelerini etkinleştirmek için bunu olaraktrueayarlayın. Kullanılabilirlik alanları, hizmetin kullanılabilirlik SLA'sı artar. Diğer ayrıntılar için buradaki SLA ayrıntılarının tamamını gözden geçirebilirsiniz.Uyarı
Kullanılabilirlik alanları tüm bölgelerde desteklenmiyor. Kullanılabilirlik alanları'nın destekçisi olmadığını bir bölgeyi seçmeniz dağıtımlar başarısız olur. Desteklenen bölgeler için buraya bakın. Kullanılabilirlik alanlarının başarılı dağıtımı, verilen bölgedeki tüm bölgelerde işlem kaynaklarının kullanılabilirlik durumuna da tabidir. Seçtiğiniz SKU veya kapasite tüm bölgelerde kullanılamıyorsa dağıtımlar başarısız olabilir.
İkinci veri merkezi oluşturulduktan sonra, tüm Cassandra düğümlerinin başarıyla geldiğini doğrulamak için düğüm durumunu alın:
resourceGroupName='cassandra-mi-multi-region' clusterName='test-multi-region' az managed-cassandra cluster node-status \ --cluster-name $clusterName \ --resource-group $resourceGroupNameSon olarak, CQLSH kullanarak kümenize bağlanarak aşağıdaki CQL sorgusunu kullanarak her anahtar alanı içinde çoğaltma stratejisini küme genelindeki tüm veri merkezlerini içerecek şekilde güncelleştirin:
ALTER KEYSPACE "ks" WITH REPLICATION = {'class': 'NetworkTopologyStrategy', 'dc-eastus2': 3, 'dc-eastus': 3};Ayrıca parola tablolarını da güncelleştirmeniz gerekir:
ALTER KEYSPACE "system_auth" WITH REPLICATION = {'class': 'NetworkTopologyStrategy', 'dc-eastus2': 3, 'dc-eastus': 3}
Sorun giderme
Azure CLI kullanarak Sanal Ağınıza izinler uygularken 'e5007d2c-4b13-4a74-9b6a-605d99f03501' için graf veritabanında kullanıcı veya hizmet sorumlusu bulunamaz gibi bir hatayla karşılaşırsanız, aynı izni Azure portal. Bunu burada yapmayı öğrenin.
Not
Azure Cosmos DB rol ataması yalnızca dağıtım amacıyla kullanılır. Apache Cassandra için Azure Yönetilen Örneği'nin Azure veritabanı üzerinde arka uç Cosmos yoktur.
Kaynakları temizleme
Bu yönetilen örnek kümesi kullanmaya devam edecek değilsanız, aşağıdaki adımları kullanarak kümeyi silin:
- Kaynak grupları'nın sol menüsünden Azure portal grupları'ı seçin.
- Listeden bu hızlı başlangıç için oluşturduğunuz kaynak grubunu seçin.
- Kaynak grubuna Genel Bakış bölmesinde Kaynak grubunu sil'i seçin.
- Sonraki pencerede, silinecek kaynak grubunun adını girin ve Sil'i seçin.
Sonraki adımlar
Bu hızlı başlangıçta, Azure CLI ve Apache Cassandra için Azure Yönetilen Örneği kullanarak çok bölgeli küme oluşturma hakkında bilgi edindiniz. Artık kümeyle çalışmaya başlayabilirsiniz.
