Quickstart: Een Azure Managed Instance voor Apache Cassandra-cluster maken met behulp van Azure CLI
Azure Managed Instance voor Apache Cassandra biedt geautomatiseerde implementatie- en schaalbewerkingen voor beheerde opensource Apache Cassandra-datacenters. Deze service helpt u bij het versnellen van hybride scenario's en het verminderen van doorlopend onderhoud.
In deze quickstart wordt gedemonstreerd hoe u de Azure CLI-opdrachten gebruikt om een cluster te maken met Azure Managed Instance voor Apache Cassandra. U ziet ook dat u een datacenter maakt en knooppunten omhoog of omlaag schaalt binnen het datacenter.
Vereisten
Gebruik de bash-omgeving in Azure Cloud shell.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren.
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. Raadpleeg Aanmelden bij de Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor 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.
Azure Virtual Network connectiviteit met uw zelf-hostende of on-premises omgeving. Zie het artikel over het verbinden van on-premises omgevingen Verbinding maken een on-premises netwerk met Azure voor meer informatie over het verbinden van on-premises omgevingen met Azure.
Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.
Belangrijk
Voor dit artikel is azure CLI versie 2.30.0 of hoger vereist. Als u een Azure Cloud Shell, is de meest recente versie al geïnstalleerd.
Een beheerd exemplaarcluster maken
Meld u aan bij Azure Portal
Stel uw abonnements-id in Azure CLI in:
az account set -s <Subscription_ID>Maak vervolgens een Virtual Network met een toegewezen subnet in uw resourcegroep:
az network vnet create -n <VNet_Name> -l eastus2 -g <Resource_Group_Name> --subnet-name <Subnet Name>Notitie
Voor de implementatie van een azure managed instance voor Apache Cassandra is internettoegang vereist. De implementatie mislukt in omgevingen waarin internettoegang is beperkt. Zorg ervoor dat u de toegang binnen uw VNet niet blokkeert tot de volgende essentiële Azure-services die nodig zijn om beheerde Cassandra goed te laten werken:
- Azure Storage
- Azure KeyVault
- Microsoft Azure Virtual Machine Scale Sets
- Azure Monitoring
- Azure Active Directory
- Azure-beveiliging
Pas enkele speciale machtigingen toe op de Virtual Network, die vereist zijn voor het beheerde exemplaar. Gebruik de opdracht , en te
az role assignment createvervangen door de juiste<subscriptionID><resourceGroupName><vnetName>waarden:az role assignment create \ --assignee a232010e-820c-4083-83bb-3ace5fc29d0b \ --role 4d97b98b-1d4f-4787-a291-c67834d212e7 \ --scope /subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>Notitie
De
assigneewaarden en in de vorige opdracht zijn vaste waarden. Voer deze waarden exact inrolezoals vermeld in de opdracht . Als u dit niet doet, leidt dit tot fouten bij het maken van het cluster. Als er fouten optreden bij het uitvoeren van deze opdracht, hebt u mogelijk geen machtigingen om deze uit te voeren. Neem contact op met uw beheerder voor machtigingen.Maak vervolgens het cluster in de zojuist gemaakte Virtual Network met behulp van de opdracht az managed-cassandra cluster create. Voer de volgende opdracht uit als de waarde van
delegatedManagementSubnetIdde variabele:Notitie
De waarde van de variabele die u hieronder oplevert, is precies hetzelfde als de waarde van die u hebt opgegeven
delegatedManagementSubnetId--scopein de bovenstaande opdracht:resourceGroupName='<Resource_Group_Name>' clusterName='<Cluster_Name>' location='eastus2' delegatedManagementSubnetId='/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.Network/virtualNetworks/<VNet name>/subnets/<subnet name>' 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 \ --debugMaak ten slotte een datacenter voor het cluster met drie knooppunten, Standard D8s v4 VM SKU, met 4 P30-schijven die zijn gekoppeld voor elk knooppunt met behulp van de opdracht az managed-cassandra datacenter create:
dataCenterName='dc1' dataCenterLocation='eastus2' 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 falseNotitie
De waarde voor
--skukan worden gekozen uit de volgende beschikbare SKU's:- 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
--availability-zonemee dat is ingesteld opfalse. Als u beschikbaarheidszones wilt inschakelen, stelt u deze in optrue. Beschikbaarheidszones verhogen de SLA voor beschikbaarheid van de service. Bekijk hier de volledige SLA-details voor meer informatie.Waarschuwing
Beschikbaarheidszones worden niet in alle regio's ondersteund. Implementaties mislukken als u een regio selecteert waarin beschikbaarheidszones niet worden ondersteund. Kijk hier voor ondersteunde regio's. De geslaagde implementatie van beschikbaarheidszones is ook afhankelijk van de beschikbaarheid van rekenresources in alle zones in de opgegeven regio. Implementaties kunnen mislukken als de SKU die u hebt geselecteerd, of capaciteit, niet beschikbaar is in alle zones.
Zodra het datacenter is gemaakt, kunt u de knooppunten in het datacenter omhoog of omlaag schalen door de opdracht az managed-cassandra datacenter update uit te voeren. Wijzig de waarde van
node-countparameter in de gewenste waarde:resourceGroupName='<Resource_Group_Name>' clusterName='<Cluster Name>' dataCenterName='dc1' dataCenterLocation='eastus2' az managed-cassandra datacenter update \ --resource-group $resourceGroupName \ --cluster-name $clusterName \ --data-center-name $dataCenterName \ --node-count 9
Verbinding maken met uw cluster
Azure Managed Instance voor Apache Cassandra maakt geen knooppunten met openbare IP-adressen. Als u verbinding wilt maken met uw zojuist gemaakte Cassandra-cluster, moet u een andere resource in het virtuele netwerk maken. Deze resource kan een toepassing zijn of een virtuele machine met het opensource-queryhulpprogramma CQLSH van Apache geïnstalleerd. U kunt een Resource Manager gebruiken om een virtuele Ubuntu-machine te implementeren. Nadat deze is geïmplementeerd, gebruikt u SSH om verbinding te maken met de computer en installeert u CQLSH, zoals wordt weergegeven in de volgende opdrachten:
# Install default-jre and default-jdk
sudo apt update
sudo apt install openjdk-8-jdk openjdk-8-jre
# Install the Cassandra libraries in order to get CQLSH:
echo "deb http://www.apache.org/dist/cassandra/debian 311x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
curl https://downloads.apache.org/cassandra/KEYS | sudo apt-key add -
sudo apt-get update
sudo apt-get install cassandra
# Export the SSL variables:
export SSL_VERSION=TLSv1_2
export SSL_VALIDATE=false
# Connect to CQLSH (replace <IP> with the private IP addresses of the nodes in your Datacenter):
host=("<IP>" "<IP>" "<IP>")
cqlsh $host 9042 -u cassandra -p cassandra --ssl
Problemen oplossen
Als er een fout wordt weergegeven bij het toepassen van machtigingen op uw Virtual Network met behulp van Azure CLI, zoals Kan gebruiker of service-principal niet vinden in grafiekdatabase voor 'e5007d2c-4b13-4a74-9b6a-605d99f03501', kunt u dezelfde machtiging handmatig toepassen vanuit de Azure Portal. Meer informatie over hoe u dit doet, vindt u hier.
Notitie
De Azure Cosmos DB roltoewijzing wordt alleen gebruikt voor implementatiedoeleinden. Azure Managed Instanced voor Apache Cassandra heeft geen back-Azure Cosmos DB.
Resources opschonen
U kunt de opdracht gebruiken om de resourcegroep, het beheerde exemplaar en alle gerelateerde resources te verwijderen wanneer u deze az group delete niet meer nodig hebt:
az group delete --name <Resource_Group_Name>
Volgende stappen
In deze quickstart hebt u geleerd hoe u een Azure Managed Instance voor Apache Cassandra-cluster maakt met behulp van Azure CLI. U kunt nu aan de slag met het cluster:
