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 te maken met Azure Managed Instance voor Apache Cassandra. Ook ziet u hoe u een datacenter maakt en knooppunten omhoog of omlaag schaalt binnen het datacenter.
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.
- 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.
- Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Belangrijk
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.
Een beheerd exemplaarcluster maken
Meld u aan bij het Azure-portaal.
Stel uw abonnements-id in de Azure CLI in:
az account set --subscription <Subscription_ID>Maak een virtueel netwerk met een toegewezen subnet in uw resourcegroep:
az network vnet create --name <VNet_Name> --location eastus2 \ --resource-group <Resource_Group_Name> --subnet-name <Subnet Name>Voor de implementatie van een exemplaar van Azure Managed Instance voor Apache Cassandra is internettoegang vereist. Implementatie mislukt in omgevingen waarin internettoegang is beperkt. Zorg ervoor dat u de toegang in uw virtuele netwerk niet blokkeert tot de volgende Azure-services die vereist zijn om Azure Managed Instance voor Apache Cassandra goed te laten werken:
- Azure Storage
- Azure Key Vault
- Azure-schaalvergrotingssets voor virtuele machines
- Azure Monitor
- Microsoft Entra ID
- Microsoft Defender for Cloud
Pas deze specifieke machtigingen toe op het virtuele netwerk. Voor het beheerde exemplaar zijn deze vereist. Gebruik de
az role assignment create-opdracht en vervang<subscriptionID>,<resourceGroupName>en<vnetName>door de juiste 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>De
assigneeenrolezijn vaste waarden. Voer deze waarden precies in zoals vermeld in de opdracht. Het niet doen leidt tot fouten bij het maken van het cluster. Als er fouten optreden wanneer u deze opdracht uitvoert, hebt u mogelijk geen machtigingen om deze uit te voeren. Neem contact op met uw Azure-beheerder voor machtigingen.Maak het cluster in uw zojuist gemaakte virtuele netwerk met behulp van de opdracht az managed-cassandra cluster create . Voer de volgende opdracht uit met de waarde van de
delegatedManagementSubnetIdvariabele. (De waarde vandelegatedManagementSubnetIdis de naam van hetzelfde virtuele netwerk waarvoor de machtigingen zijn toegepast.)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' cassandraVersion='5.0' # set to 4.0 for a Cassandra 4.0 cluster az managed-cassandra cluster create \ --cluster-name $clusterName \ --resource-group $resourceGroupName \ --location $location \ --delegated-management-subnet-id $delegatedManagementSubnetId \ --initial-cassandra-admin-password $initialCassandraAdminPassword \ --cassandra-version $cassandraVersion \ --debugMaak een datacenter voor het cluster met drie virtuele machines (VM's). Gebruik de volgende configuratie:
- VM-grootte: Standard E8s v5
- Gegevensschijven: 4 P30-schijven die zijn gekoppeld aan elk van de geïmplementeerde VM's
Nadat alle informatie is ingesteld, gebruikt u 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 falseKies de waarde voor
--skuuit de volgende beschikbare VM-grootten:- Standard_E8s_v5
- Standard_E16s_v5
- Standard_E20s_v5
- Standard_E32s_v5
Standaard is
--availability-zoneingesteld opfalse. Als u beschikbaarheidszones wilt inschakelen, stelt u deze in optrue. Beschikbaarheidszones helpen de beschikbaarheid van de service te vergroten. Zie Dienstverleningsovereenkomsten voor onlineservices.Beschikbaarheidszones worden niet ondersteund in alle Azure-regio's. Implementaties mislukken als u een regio selecteert waarin beschikbaarheidszones niet worden ondersteund. Zie de lijst met Azure-regio's voor ondersteunde regio's.
De succesvolle implementatie van beschikbaarheidszones is onderhevig aan de beschikbaarheid van rekenresources in alle zones in de regio die u hebt geselecteerd. Implementaties mislukken als de VM-grootte die u hebt gekozen, niet beschikbaar is in de regio die u hebt geselecteerd.
Nadat het datacenter is gemaakt, kunt u de opdracht az managed-cassandra datacenter update uitvoeren om uw cluster omlaag of omhoog te schalen. Wijzig de waarde van de
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 nieuwe Cassandra-cluster, moet u een andere resource binnen hetzelfde virtuele netwerk maken. Deze resource kan een toepassing of een VM zijn waarop Cassandra Query Language Shell (CQLSH) is geïnstalleerd. CQLSH is een opensource-queryhulpprogramma van Apache.
U kunt een Azure Resource Manager-sjabloon gebruiken om een Ubuntu-VM te implementeren.
Vanwege enkele bekende problemen met versies van Python raden we u aan een Ubuntu 22.04-installatiekopie te gebruiken die wordt geleverd met Python3.10.12 of een virtuele Python-omgeving om CQLSH uit te voeren.
Verbinding maken vanuit CQLSH
Nadat de VM is geïmplementeerd, gebruikt u Secure Shell om verbinding te maken met de machine en CQLSH te installeren. Gebruik de volgende opdrachten:
# Install default-jre and default-jdk
sudo apt update
sudo apt install openjdk-8-jdk openjdk-8-jre
Controleer welke versies van Cassandra nog steeds worden ondersteund en selecteer de versie die u nodig hebt. U wordt aangeraden een stabiele versie te gebruiken.
Installeer de Cassandra-bibliotheken om CQLSH op te halen. Volg de officiële stappen in de Cassandra-documentatie.
Verbinding maken vanuit een toepassing
Net als bij CQLSH moet de versleuteling van Transport Layer Security/Secure Sockets Layer (TLS/SSL) zijn ingeschakeld en moet certificaatverificatie zijn uitgeschakeld wanneer u een van de ondersteunde Apache Cassandra-clientstuurprogramma's gebruikt om verbinding te maken vanuit een applicatie. Zie Java, .NET, Node.jsen Python voor voorbeelden.
U wordt aangeraden certificaatverificatie uit te schakelen, omdat dit niet werkt, tenzij u IP-adressen van uw clusterknooppunten toe wijst aan het juiste domein. Als een intern beleid vereist dat u TLS/SSL-certificaatverificatie uitvoert voor elke toepassing, voegt u vermeldingen zoals 10.0.1.5 host1.managedcassandra.cosmos.azure.com in uw hosts-bestand toe voor elk knooppunt om deze installatie te vergemakkelijken. Als u deze aanpak volgt, moet u ook nieuwe vermeldingen toevoegen wanneer u knooppunten omhoog schaalt.
Voor Java raden we u aan het speculatieve uitvoeringsbeleid in te schakelen waarbij toepassingen gevoelig zijn voor tail-latentie. Zie Speculatief uitvoeringsbeleid implementeren voor een demo die laat zien hoe deze aanpak werkt en hoe u het beleid inschakelt.
U hoeft doorgaans geen certificaten (zoals rootCA, nodeof clienttruststore) te configureren om verbinding te maken met Azure Managed Instance voor Apache Cassandra. TLS/SSL-versleuteling maakt gebruik van het standaardvertrouwensarchief en het gekozen runtimewachtwoord van de client. Zie Java, .NET, Node.jsen Python) voor voorbeeldcode. Certificaten worden standaard vertrouwd. Zo niet, voeg ze toe aan de vertrouwenswinkel.
Clientcertificaten configureren (optioneel)
Het configureren van clientcertificaten is optioneel. Een clienttoepassing kan verbinding maken met Azure Managed Instance voor Apache Cassandra nadat u de voorgaande stappen hebt uitgevoerd. Als u wilt, kunt u ook clientcertificaten voor verificatie maken en configureren. Over het algemeen zijn er twee manieren om certificaten te maken:
- Zelfondertekende certificaten: Privé- en openbare certificaten zonder certificeringsinstantie (CA) voor elk knooppunt. In dit geval zijn alle openbare certificaten vereist.
- Certificaten die zijn ondertekend door een CA: Certificaten die zijn uitgegeven door een zelfondertekende CA of een openbare CA. Voor deze installatie hebt u het basis-CA-certificaat en alle tussenliggende certificaten nodig, indien van toepassing. Zie SSL-certificaten voorbereiden voor productie voor meer informatie.
Als u verificatie van client-naar-knooppuntcertificaten of wederzijdse Transport Layer Security wilt implementeren, geeft u de certificaten op met behulp van de Azure CLI. Met de volgende opdracht worden uw clientcertificaten geüpload en toegepast op het vertrouwensarchief voor uw Azure Managed Instance voor Apache Cassandra-cluster. U hoeft de instellingen niet te wijzigen cassandra.yaml . Nadat de certificaten zijn toegepast, vereist het cluster Cassandra om de certificaten te verifiëren tijdens clientverbindingen. Zie voor meer informatie require_client_auth: true in Cassandra client_encryption_options.
resourceGroupName='<Resource_Group_Name>'
clusterName='<Cluster Name>'
az managed-cassandra cluster update \
--resource-group $resourceGroupName \
--cluster-name $clusterName \
--client-certificates /usr/csuser/clouddrive/rootCert.pem /usr/csuser/clouddrive/intermediateCert.pem
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 voorbeeld van een dergelijke fout is 'Kan gebruiker of service-principal niet vinden in graafdatabase voor e5007d2c-4b13-4a74-9b6a-605d99f03501'. Zie De Azure-portal gebruiken om 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
Wanneer uw resource niet meer nodig is, gebruikt u de az group delete opdracht om de resourcegroep, het beheerde exemplaar en alle gerelateerde resources te verwijderen:
az group delete --name <Resource_Group_Name>
Volgende stap
In deze quickstart hebt u geleerd hoe u een Azure Managed Instance voor Apache Cassandra-cluster maakt met behulp van de Azure CLI. U kunt nu aan de slag met het cluster: