Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure Managed Instance for Apache Cassandra to w pełni zarządzana usługa dla czystych klastrów Apache Cassandra typu open source. Usługa umożliwia również zastępowanie konfiguracji w zależności od konkretnych potrzeb każdego obciążenia w celu zapewnienia maksymalnej elastyczności i kontroli.
W tym przewodniku Szybki start pokazano, jak za pomocą poleceń interfejsu wiersza polecenia platformy Azure skonfigurować klaster z wieloma regionami na platformie Azure.
Wymagania wstępne
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Get started with Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Uwierzytelnianie na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
- Ten artykuł wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.30.0 lub nowszej. Jeśli używasz usługi Azure Cloud Shell, najnowsza wersja jest już zainstalowana.
- Użyj sieci wirtualnej platformy Azure z łącznością z własnym środowiskiem lub środowiskiem lokalnym. Aby uzyskać więcej informacji na temat łączenia środowisk lokalnych z platformą Azure, zobacz Łączenie sieci lokalnej z platformą Azure.
Konfigurowanie środowiska sieciowego
Ponieważ wszystkie centra danych udostępniane za pomocą tej usługi muszą być wdrażane w dedykowanych podsieciach przy użyciu wstrzykiwania sieci wirtualnej, należy skonfigurować odpowiednie peering sieci przed wdrożeniem. W tym przewodniku Szybki start utwórz klaster z dwoma centrami danych w oddzielnych regionach: Wschodnie stany USA i Wschodnie stany USA 2. Najpierw utwórz sieci wirtualne dla każdego regionu.
Zaloguj się w witrynie Azure Portal.
Utwórz grupę zasobów o nazwie
cassandra-mi-multi-region:az group create --location eastus2 --name cassandra-mi-multi-regionUtwórz Pierwszą wirtualną sieć w regionie East US 2 z dedykowaną podsiecią.
az network vnet create \ --name vnetEastUs2 \ --location eastus2 \ --resource-group cassandra-mi-multi-region \ --address-prefix 10.0.0.0/16 \ --subnet-name dedicated-subnetUtwórz drugą sieć wirtualną w regionie Wschodnie USA, również z dedykowaną podsiecią.
az network vnet create \ --name vnetEastUs \ --location eastus \ --resource-group cassandra-mi-multi-region \ --address-prefix 192.168.0.0/16 \ --subnet-name dedicated-subnetJawnie dodajemy różne zakresy adresów IP, aby upewnić się, że nie ma żadnych błędów związanych z peeringiem.
Należy połączyć pierwszą sieć wirtualną z drugą siecią wirtualną:
az network vnet peering create \ --resource-group cassandra-mi-multi-region \ --name MyVnet1ToMyVnet2 \ --vnet-name vnetEastUs2 \ --remote-vnet vnetEastUs \ --allow-vnet-access \ --allow-forwarded-trafficAby połączyć dwie sieci wirtualne, utwórz kolejne połączenie równorzędne między drugą siecią wirtualną a pierwszą:
az network vnet peering create \ --resource-group cassandra-mi-multi-region \ --name MyVnet2ToMyVnet1 \ --vnet-name vnetEastUs \ --remote-vnet vnetEastUs2 \ --allow-vnet-access \ --allow-forwarded-trafficJeśli dodasz więcej regionów, każda sieć wirtualna wymaga połączenia równorzędnego z wszystkimi pozostałymi sieciami wirtualnymi oraz z powrotem od wszystkich tych sieci.
Sprawdź dane wyjściowe poprzedniego polecenia. Upewnij się, że wartość parametru
peeringStateto terazConnected. Możesz również sprawdzić ten wynik, uruchamiając następujące polecenie:az network vnet peering show \ --name MyVnet1ToMyVnet2 \ --resource-group cassandra-mi-multi-region \ --vnet-name vnetEastUs2 \ --query peeringStateZastosuj pewne specjalne uprawnienia do obu sieci wirtualnych. Wystąpienie zarządzane platformy Azure dla usługi Apache Cassandra wymaga tych uprawnień. Uruchom następujące polecenie. Zastąp
<SubscriptionID>element identyfikatorem subskrypcji: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/vnetEastUsWartości
assigneeirolew poprzednim poleceniu są stałymi wartościami. Wprowadź te wartości dokładnie tak, jak pokazano w poleceniu .
Jeśli wystąpią błędy podczas uruchamiania az role assignment createpolecenia , być może nie masz uprawnień do jego uruchomienia. Sprawdź się z administratorem, aby uzyskać uprawnienia.
Tworzenie klastra z wieloma regionami
Wdróż zasób klastra. Zastąp
<Subscription ID>ciąg identyfikatorem subskrypcji. Wdrożenie może potrwać od 5 do 10 minut.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 \ --debugPo utworzeniu zasobu klastra możesz utworzyć centrum danych. Najpierw utwórz centrum danych w regionie Wschodnie stany USA 2. Zastąp
<SubscriptionID>ciąg identyfikatorem subskrypcji. Ta akcja może potrwać do 10 minut.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 3Utwórz centrum danych w regionie Wschodnie stany USA. Zastąp
<SubscriptionID>element identyfikatorem subskrypcji: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 falseMożesz wybrać wartość
--skuspośród następujących dostępnych warstw produktów:- Standard_E8s_v4
- Standard_E16s_v4
- Standard_E20s_v4
- Standard_E32s_v4
- Standardowa_DS13_v2
- Standardowa_DS14_v2
- Standard_D8s_v4
- Standard_D16s_v4
- Standard_D32s_v4
Należy również pamiętać, że
--availability-zoneustawiono wartośćfalse. Aby włączyć strefy dostępności, ustaw ją natrue. Strefy dostępności zwiększają dostępność umowy serwisowej (SLA) usługi. Aby uzyskać więcej informacji, zobacz Umowy dotyczące poziomu usług dla wystąpienia zarządzanego platformy Azure dla usługi Apache Cassandra.Strefy dostępności nie są obsługiwane we wszystkich regionach. Wdrożenia kończą się niepowodzeniem, jeśli wybierzesz region, w którym strefy dostępności nie są obsługiwane. Aby uzyskać informacje o obsługiwanych regionach, zobacz Regiony platformy Azure ze strefami dostępności.
Pomyślne wdrożenie stref dostępności podlega również dostępności zasobów obliczeniowych we wszystkich strefach w określonym regionie. Wdrożenia mogą zakończyć się niepowodzeniem, jeśli wybrana warstwa produktu lub pojemność nie jest dostępna we wszystkich strefach.
Po utworzeniu drugiego centrum danych sprawdź stan węzłów, aby upewnić się, że wszystkie węzły Cassandra zostały pomyślnie uruchomione.
resourceGroupName='cassandra-mi-multi-region' clusterName='test-multi-region' az managed-cassandra cluster status\ --cluster-name $clusterName \ --resource-group $resourceGroupNameNastępnie użyj protokołu CQLSH, aby nawiązać połączenie z klastrem. Użyj następującego zapytania CQL, aby zaktualizować strategię replikacji w każdej przestrzeni kluczy, aby uwzględnić wszystkie centra danych w klastrze (tabele systemowe są aktualizowane automatycznie):
ALTER KEYSPACE "ks" WITH REPLICATION = {'class': 'NetworkTopologyStrategy', 'dc-eastus2': 3, 'dc-eastus': 3};Na koniec, jeśli dodasz centrum danych do klastra zawierającego już dane, musisz uruchomić polecenie
rebuildw celu replikowania danych historycznych. W tym przypadku załóżmy, żedc-eastus2centrum danych ma już dane. W Azure CLI uruchom następujące polecenie, aby uruchomićnodetool rebuildna każdym węźle w nowym centrum danychdc-eastus. Zastąp<ip address>adresem IP węzła:az managed-cassandra cluster invoke-command \ --resource-group $resourceGroupName \ --cluster-name $clusterName \ --host <ip address> \ --command-name nodetool --arguments rebuild="" "dc-eastus2"=""Nie zezwalaj klientom aplikacji na zapisywanie w nowym centrum danych do momentu zastosowania zmian replikacji przestrzeni kluczy. W przeciwnym razie ponowne kompilowanie nie działa. Następnie należy utworzyć wniosek o pomoc techniczną , aby nasz zespół mógł uruchomić
repairdla Ciebie.
Rozwiązywanie problemów
Jeśli wystąpi błąd podczas stosowania uprawnień do sieci wirtualnej przy użyciu interfejsu wiersza polecenia platformy Azure, możesz ręcznie zastosować to samo uprawnienie w witrynie Azure Portal. Przykładem błędu może być komunikat "Nie można odnaleźć użytkownika lub jednostki usługi w grafowej bazie danych programu e5007d2c-4b13-4a74-9b6a-605d99f03501." Aby uzyskać więcej informacji, zobacz Dodawanie jednostki usługi Azure Cosmos DB za pomocą witryny Azure Portal.
Przypisanie roli usługi Azure Cosmos DB jest używane tylko do celów wdrażania. Zarządzana instancja Azure dla Apache Cassandra nie ma zależności od zaplecza Azure Cosmos DB.
Czyszczenie zasobów
Jeśli nie zamierzasz nadal używać tego klastra wystąpień zarządzanych, wykonaj następujące kroki, aby go usunąć:
- W menu po lewej stronie witryny Azure Portal wybierz pozycję Grupy zasobów.
- Z listy wybierz grupę zasobów, którą utworzyłeś dla tego Quickstartu.
- W okienku Przegląd grupy zasobów wybierz pozycję Usuń grupę zasobów.
- W następnym okienku wprowadź nazwę grupy zasobów do usunięcia, a następnie wybierz pozycję Usuń.
Następny krok
W tym szybkim starcie zostało przedstawione, jak utworzyć klaster z wieloma regionami przy użyciu interfejsu wiersza polecenia platformy Azure i wystąpienia zarządzanego platformy Azure dla usługi Apache Cassandra. Teraz możesz rozpocząć pracę z klastrem.