Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure Managed Instance voor Apache Cassandra is een volledig beheerde service voor pure opensource Apache Cassandra-clusters. Met de service kunnen configuraties ook worden overschreven, afhankelijk van de specifieke behoeften van elke workload, voor maximale flexibiliteit en controle.
In deze quickstart ziet u hoe u de Azure CLI-opdrachten gebruikt om een cluster met meerdere regio's in Azure te configureren.
Vereisten
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie Aan de slag met Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Zie Verifiëren bij Azure met behulp van Azure CLI voor andere aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Zie Extensies gebruiken en beheren met de Azure CLIvoor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
- Voor dit artikel is Azure CLI versie 2.30.0 of hoger vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.
- Gebruik een virtueel Azure-netwerk met connectiviteit met uw zelf-hostende of on-premises omgeving. Zie Een on-premises netwerk verbinden met Azure voor meer informatie over het verbinden van on-premises omgevingen met Azure.
De netwerkomgeving instellen
Omdat alle datacenters die met deze service zijn ingericht, moeten worden geïmplementeerd in toegewezen subnetten met behulp van virtuele netwerkinjectie, configureert u de juiste netwerkpeering voorafgaand aan de implementatie. Voor deze quickstart maakt u een cluster met twee datacenters in afzonderlijke regio's: VS - oost en VS - oost 2. Maak eerst de virtuele netwerken voor elke regio.
Meld u aan bij het Azure-portaal.
Maak een resourcegroep met de naam
cassandra-mi-multi-region:az group create --location eastus2 --name cassandra-mi-multi-regionMaak het eerste virtuele netwerk in VS - oost 2 met een toegewezen subnet:
az network vnet create \ --name vnetEastUs2 \ --location eastus2 \ --resource-group cassandra-mi-multi-region \ --address-prefix 10.0.0.0/16 \ --subnet-name dedicated-subnetMaak het tweede virtuele netwerk in VS - oost, ook met een toegewezen subnet:
az network vnet create \ --name vnetEastUs \ --location eastus \ --resource-group cassandra-mi-multi-region \ --address-prefix 192.168.0.0/16 \ --subnet-name dedicated-subnetWe voegen expliciet verschillende IP-adresbereiken toe om ervoor te zorgen dat er geen fouten zijn met peering.
Koppel het eerste virtuele netwerk aan het tweede virtuele netwerk:
az network vnet peering create \ --resource-group cassandra-mi-multi-region \ --name MyVnet1ToMyVnet2 \ --vnet-name vnetEastUs2 \ --remote-vnet vnetEastUs \ --allow-vnet-access \ --allow-forwarded-trafficAls u de twee virtuele netwerken wilt verbinden, maakt u nog een peering tussen het tweede virtuele netwerk en het eerste:
az network vnet peering create \ --resource-group cassandra-mi-multi-region \ --name MyVnet2ToMyVnet1 \ --vnet-name vnetEastUs \ --remote-vnet vnetEastUs2 \ --allow-vnet-access \ --allow-forwarded-trafficAls u meer regio's toevoegt, vereist elk virtueel netwerk peering van dat netwerk naar alle andere virtuele netwerken, en van alle andere virtuele netwerken naar dat netwerk.
Controleer de uitvoer van de vorige opdracht. Zorg ervoor dat de waarde
peeringStatenuConnectedis. U kunt dit resultaat ook controleren door de volgende opdracht uit te voeren:az network vnet peering show \ --name MyVnet1ToMyVnet2 \ --resource-group cassandra-mi-multi-region \ --vnet-name vnetEastUs2 \ --query peeringStateEnkele speciale machtigingen toepassen op beide virtuele netwerken. Voor Azure Managed Instance voor Apache Cassandra zijn deze machtigingen vereist. Voer de volgende opdracht uit. Vervang
<SubscriptionID>door uw abonnements-id: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/vnetEastUsDe
assigneewaarden inrolede vorige opdracht zijn vaste waarden. Voer deze waarden exact in zoals wordt weergegeven in de opdracht.
Als er fouten optreden tijdens het uitvoeren az role assignment create, hebt u mogelijk geen machtigingen om deze uit te voeren. Neem contact op met uw beheerder voor machtigingen.
Een cluster met meerdere regio's maken
Implementeer de clusterresource. Vervang door
<Subscription ID>uw abonnements-id. De implementatie kan 5 tot 10 minuten duren.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 \ --debugNadat de clusterresource is gemaakt, kunt u een datacenter maken. Maak eerst een datacenter in VS - oost 2. Vervang door
<SubscriptionID>uw abonnements-id. Deze actie kan maximaal 10 minuten duren.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 3Maak een datacenter in VS - oost. Vervang
<SubscriptionID>door uw abonnements-id: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 falseU kunt de waarde voor
--skukiezen uit de volgende beschikbare productniveaus:- 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
Houd er ook rekening mee dat
--availability-zoneis ingesteld opfalse. Als u beschikbaarheidszones wilt inschakelen, stelt u deze in optrue. Beschikbaarheidszones verhogen de SLA (Service Level Agreement) voor beschikbaarheid van de service. Zie Serviceovereenkomsten voor Azure Managed Instance voor Apache Cassandra voor meer informatie.Beschikbaarheidszones worden niet ondersteund in alle regio's. Implementaties mislukken als u een regio selecteert waarin beschikbaarheidszones niet worden ondersteund. Zie Azure-regio's met beschikbaarheidszones voor ondersteunde regio's.
De succesvolle implementatie van beschikbaarheidszones is ook onderhevig aan de beschikbaarheid van rekenresources in alle zones in de specifieke regio. Implementaties kunnen mislukken als de productlaag die u hebt geselecteerd, of capaciteit, niet beschikbaar is in alle zones.
Nadat het tweede datacenter is gemaakt, controleert u de status van de nodes om te verifiëren dat alle Cassandra-nodes succesvol zijn gestart.
resourceGroupName='cassandra-mi-multi-region' clusterName='test-multi-region' az managed-cassandra cluster status\ --cluster-name $clusterName \ --resource-group $resourceGroupNameGebruik vervolgens CQLSH om verbinding te maken met uw cluster. Gebruik de volgende CQL-query om de replicatiestrategie in elke keyspace bij te werken om alle datacenters in het cluster op te nemen (systeemtabellen worden automatisch bijgewerkt):
ALTER KEYSPACE "ks" WITH REPLICATION = {'class': 'NetworkTopologyStrategy', 'dc-eastus2': 3, 'dc-eastus': 3};Als u ten slotte een datacenter toevoegt aan een cluster dat al gegevens bevat, moet u
rebuilduitvoeren om de historische gegevens te repliceren. In dit geval wordt ervan uitgegaan dat hetdc-eastus2datacenter al gegevens bevat. Voer in de Azure CLI de volgende opdracht uit om op elk knooppunt in uw nieuwedc-eastusdatacenter uit te voerennodetool rebuild. Vervang<ip address>door het IP-adres van het knooppunt:az managed-cassandra cluster invoke-command \ --resource-group $resourceGroupName \ --cluster-name $clusterName \ --host <ip address> \ --command-name nodetool --arguments rebuild="" "dc-eastus2"=""Sta applicaties niet toe om gegevens naar het nieuwe datacenter te schrijven totdat u wijzigingen in de keyspace-replicatie hebt toegepast. Anders werkt het opnieuw opbouwen niet. Vervolgens moet u een ondersteuningsaanvraag indienen, zodat ons team
repairvoor u kan uitvoeren.
Probleemoplossing
Als er een fout optreedt wanneer u machtigingen toepast op uw virtuele netwerk met behulp van de Azure CLI, kunt u dezelfde machtiging handmatig toepassen vanuit Azure Portal. Een voorbeeldfout is : 'Kan de gebruiker of service-principal niet vinden in de grafiekdatabase voor e5007d2c-4b13-4a74-9b6a-605d99f03501'. Zie De Azure-portal gebruiken om een Azure Cosmos DB-service-principal toe te voegen voor meer informatie.
De Azure Cosmos DB-roltoewijzing wordt alleen gebruikt voor implementatiedoeleinden. Azure Managed Instanced voor Apache Cassandra heeft geen back-endafhankelijkheden op Azure Cosmos DB.
Resources opschonen
Als u dit beheerde exemplaarcluster niet meer gaat gebruiken, volgt u deze stappen om het te verwijderen:
- Selecteer Resourcegroepen in het linkermenu van de Azure-portal.
- Selecteer in de lijst de resourcegroep die u voor deze quickstart hebt gemaakt.
- Selecteer Resourcegroep verwijderen in het deelvenster Overzicht van de resourcegroep.
- Voer in het volgende deelvenster de naam in van de resourcegroep die u wilt verwijderen en selecteer vervolgens Verwijderen.
Volgende stap
In deze quickstart hebt u geleerd hoe u een cluster met meerdere regio's maakt met behulp van de Azure CLI en Azure Managed Instance voor Apache Cassandra. U kunt nu aan de slag met het cluster.