Quickstart: Een Azure Managed Instance voor Apache Cassandra-cluster maken vanuit Azure Portal
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, waardoor maximale flexibiliteit en controle waar nodig zijn
In deze quickstart ziet u hoe u Azure Portal gebruikt om een Azure Managed Instance te maken voor een Apache Cassandra-cluster.
Vereisten
Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
Een beheerd exemplaarcluster maken
Meld u aan bij het Azure-portaal.
Zoek in de zoekbalk naar Managed Instance voor Apache Cassandra en selecteer het resultaat.
Selecteer De knop Managed Instance maken voor Apache Cassandra-cluster .
Voer in het deelvenster Beheerd exemplaar maken voor Apache Cassandra de volgende gegevens in:
- Abonnement : selecteer uw Azure-abonnement in de vervolgkeuzelijst.
- Resourcegroep: geef op of u een nieuwe resourcegroep wilt maken of een bestaande wilt gebruiken. Een resourcegroep is een container met gerelateerde resources voor een Azure-oplossing. Zie het overzichtsartikel van De Azure-resourcegroep voor meer informatie.
- Clusternaam : voer een naam in voor uw cluster.
- Locatie : locatie waar uw cluster wordt geïmplementeerd.
- Cassandra-versie : versie van Apache Cassandra die wordt geïmplementeerd.
- Uitbreiding: extensies die worden toegevoegd, inclusief Cassandra Lucene Index.
- Eerste Cassandra-beheerderswachtwoord: wachtwoord dat wordt gebruikt om het cluster te maken.
- Bevestig het beheerderswachtwoord van Cassandra - Voer uw wachtwoord opnieuw in.
- Virtueel netwerk : selecteer een afsluitend virtueel netwerk en subnet of maak een nieuw netwerk.
- Rollen toewijzen: voor virtuele netwerken zijn speciale machtigingen vereist om beheerde Cassandra-clusters te kunnen implementeren. Houd dit selectievakje ingeschakeld als u een nieuw virtueel netwerk maakt of een bestaand virtueel netwerk gebruikt zonder dat hiervoor machtigingen zijn toegepast. Als u een virtueel netwerk gebruikt waarin u Azure SQL Managed Instance Cassandra-clusters al hebt geïmplementeerd, schakelt u deze optie uit.
Tip
Als u VPN gebruikt, hoeft u geen andere verbinding te openen.
Notitie
Voor de implementatie van een 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 VNet niet blokkeert tot de volgende essentiële Azure-services die nodig zijn om Managed Cassandra goed te laten werken. Zie Vereiste regels voor uitgaand netwerk voor meer gedetailleerde informatie.
- Azure Storage
- Azure KeyVault
- Microsoft Azure Virtual Machine Scale Sets
- Azure Monitoring
- Microsoft Entra ID
- Azure-beveiliging
- Automatisch repliceren : kies de vorm van automatische replicatie die moet worden gebruikt. Meer informatie
- Gebeurtenisstrategie plannen: de strategie die door het cluster moet worden gebruikt voor geplande gebeurtenissen.
Tip
- StopANY betekent dat een knooppunt wordt gestopt wanneer er een gepland knooppunt is, zelfs voor het knooppunt.
- StopByRack betekent alleen stopknooppunt in een bepaald rek voor een bepaalde geplande gebeurtenis, bijvoorbeeld als twee of meer gebeurtenissen tegelijkertijd zijn gepland voor knooppunten in verschillende rekken, worden alleen knooppunten in het ene rek gestopt, terwijl de andere knooppunten in andere rekken worden vertraagd.
Selecteer vervolgens het tabblad Datacenter .
Voer de volgende gegevens in:
- Naam van datacenter : typ een datacenternaam in het tekstveld.
- Beschikbaarheidszone : schakel dit selectievakje in als u beschikbaarheidszones wilt inschakelen.
- SKU-grootte : kies uit de beschikbare SKU-grootten voor virtuele machines.
Notitie
We hebben write-through-caching (openbare preview) geïntroduceerd via het gebruik van VM-SKU's uit de L-serie. Deze implementatie is bedoeld om staartlatenties te minimaliseren en leesprestaties te verbeteren, met name voor leesintensieve workloads. Deze specifieke SKU's zijn uitgerust met lokaal gekoppelde schijven, waardoor een enorm verhoogde IOPS wordt gegarandeerd voor leesbewerkingen en een verminderde staartlatentie.
Belangrijk
Write-through-caching is beschikbaar als openbare preview. Deze functie wordt geleverd zonder service level agreement en wordt niet aanbevolen voor productieworkloads. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.
- Nee van schijven - Kies het aantal p30-schijven dat moet worden gekoppeld aan elk Cassandra-knooppunt.
- Nee van knooppunten - Kies het aantal Cassandra-knooppunten dat in dit datacenter wordt geïmplementeerd.
Waarschuwing
Beschikbaarheidszones worden niet ondersteund in alle regio's. Implementaties mislukken als u een regio selecteert waarin beschikbaarheidszones niet worden ondersteund. Zie hier voor ondersteunde regio's. De succesvolle implementatie van beschikbaarheidszones is ook onderhevig aan 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.
Selecteer Vervolgens Beoordelen en maken>
Notitie
Het kan tot 15 minuten duren voordat het cluster is gemaakt.
Nadat de implementatie is voltooid, controleert u de resourcegroep om het zojuist gemaakte beheerde exemplaarcluster te zien:
Als u door de clusterknooppunten wilt bladeren, gaat u naar de clusterresource en opent u het deelvenster Data Center om deze weer te geven:
Een datacenter schalen
Nu u een cluster met één datacenter hebt geïmplementeerd, kunt u horizontaal of verticaal schalen door het datacenter te markeren en de Scale
knop te selecteren:
Horizontaal schalen
Als u wilt uitschalen of inschalen op knooppunten, verplaatst u de schuifregelaar naar het gewenste getal of bewerkt u de waarde. Wanneer u klaar bent, drukt u op Scale
.
Verticale schaal
Als u de SKU-grootte voor uw knooppunten omhoog of omlaag wilt schalen, selecteert u in de Sku Size
vervolgkeuzelijst. Wanneer u klaar bent, drukt u op Scale
.
Notitie
De tijd die nodig is voor een schaalbewerking, is afhankelijk van verschillende factoren. Het kan enkele minuten duren. Wanneer Azure u op de hoogte stelt dat de schaalbewerking is voltooid, betekent dit niet dat al uw knooppunten lid zijn geworden van de Cassandra-ring. Knooppunten worden volledig in gebruik genomen wanneer ze allemaal de status 'in orde' weergeven en de status van het datacenter 'geslaagd' wordt gelezen. Schalen is een onlinebewerking en werkt op dezelfde manier als beschreven voor patching in beheerbewerkingen
Een datacenter toevoegen
Als u een ander datacenter wilt toevoegen, klikt u op de knop Toevoegen in het deelvenster Datacenter :
Waarschuwing
Als u een datacenter in een andere regio toevoegt, moet u een ander virtueel netwerk selecteren. U moet er ook voor zorgen dat dit virtuele netwerk verbinding heeft met het virtuele netwerk van de primaire regio dat hierboven is gemaakt (en andere virtuele netwerken die als host fungeren voor datacenters binnen het cluster van het beheerde exemplaar). Bekijk dit artikel voor meer informatie over het koppelen van virtuele netwerken met behulp van Azure Portal. U moet er ook voor zorgen dat u de juiste rol hebt toegepast op uw virtuele netwerk voordat u probeert een beheerd exemplaarcluster te implementeren met behulp van de onderstaande CLI-opdracht.
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>
Vul de juiste velden in:
- Datacenternaam : selecteer uw Azure-abonnement in de vervolgkeuzelijst.
- Beschikbaarheidszone : schakel dit selectievakje in als u wilt dat beschikbaarheidszones worden ingeschakeld in dit datacenter.
- Locatie : locatie waar uw datacenter wordt geïmplementeerd.
- SKU-grootte : kies uit de beschikbare SKU-grootten voor virtuele machines.
- Nee van schijven - Kies het aantal p30-schijven dat moet worden gekoppeld aan elk Cassandra-knooppunt.
- Nee van knooppunten - Kies het aantal Cassandra-knooppunten dat in dit datacenter wordt geïmplementeerd.
- Virtueel netwerk : selecteer een afsluitend virtueel netwerk en subnet.
Waarschuwing
U ziet dat het maken van een nieuw virtueel netwerk niet is toegestaan bij het toevoegen van een datacenter. U moet een bestaand virtueel netwerk kiezen en zoals hierboven vermeld, moet u ervoor zorgen dat er verbinding is tussen de doelsubnetten waar datacenters worden geïmplementeerd. U moet ook de juiste rol toepassen op het VNet om implementatie toe te staan (zie hierboven).
Wanneer het datacenter is geïmplementeerd, moet u alle datacentergegevens in het deelvenster Datacenter kunnen bekijken:
Als u wilt zorgen voor replicatie tussen datacenters, maakt u verbinding met cqlsh en gebruikt u 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': 3, 'dc2': 3};
Als u een datacenter toevoegt aan een cluster waar al gegevens zijn, moet u deze uitvoeren
rebuild
om de historische gegevens te repliceren. Voer in Azure CLI de onderstaande opdracht uit om uit te voerennodetool rebuild
op elk knooppunt van het nieuwe datacenter, waarbij u<new dc ip address>
het IP-adres van het knooppunt vervangt en<olddc>
door de naam van uw bestaande datacenter:az managed-cassandra cluster invoke-command \ --resource-group $resourceGroupName \ --cluster-name $clusterName \ --host <new dc ip address> \ --command-name nodetool --arguments rebuild="" "<olddc>"=""
Waarschuwing
U mag toepassingsclients pas naar het nieuwe datacenter schrijven als u keyspace-replicatiewijzigingen hebt toegepast. Anders werkt het opnieuw opbouwen niet en moet u een ondersteuningsaanvraag maken, zodat ons team namens u kan worden uitgevoerd
repair
.
Cassandra-configuratie bijwerken
Met de service kunt u via de portal of met behulp van CLI-opdrachten bijwerken naar Cassandra YAML-configuratie in een datacenter. Instellingen bijwerken in de portal:
Zoek
Cassandra Configuration
onder instellingen. Markeer het datacenter waarvan u de configuratie wilt wijzigen en klik op Bijwerken:Voer in het venster dat wordt geopend de veldnamen in YAML-indeling in, zoals hieronder wordt weergegeven. Klik vervolgens op Bijwerken.
Wanneer de update is voltooid, worden de overschreven waarden weergegeven in het
Cassandra Configuration
deelvenster:Notitie
Alleen overschreven Cassandra-configuratiewaarden worden weergegeven in de portal.
Belangrijk
Zorg ervoor dat de Yaml-instellingen van Cassandra die u opgeeft, geschikt zijn voor de versie van Cassandra die u hebt geïmplementeerd. Zie hier voor Cassandra v3.11-instellingen en hier voor v4.0. De volgende YAML-instellingen mogen niet worden bijgewerkt:
- cluster_name
- seed_provider
- initial_token
- autobootstrap
- client_encryption_options
- server_encryption_options
- transparent_data_encryption_options
- audit_logging_options
- Verificator
- autor
- role_manager
- storage_port
- ssl_storage_port
- native_transport_port
- native_transport_port_ssl
- listen_address
- listen_interface
- broadcast_address
- hints_directory
- data_file_directories
- commitlog_directory
- cdc_raw_directory
- saved_caches_directory
- endpoint_snitch
- Partitioner
- rpc_address
- rpc_interface
Cassandra-versie bijwerken
Belangrijk
Cassandra 5.0- en kant-en-klare versie-updates zijn beschikbaar als openbare preview. Deze functies worden geleverd zonder service level agreement en wordt niet aanbevolen voor productieworkloads. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.
U hebt de mogelijkheid om in-place primaire versie-upgrades rechtstreeks vanuit de portal of via Az CLI-, Terraform- of ARM-sjablonen uit te voeren.
Update
Het deelvenster zoeken op het tabblad OverzichtSelecteer de Cassandra-versie in de vervolgkeuzelijst.
Waarschuwing
Sla geen versies over. Het is raadzaam om slechts van de ene versie naar een ander voorbeeld 3.11 bij te werken naar 4.0, 4.0 naar 4.1.
Selecteer bijwerken om op te slaan.
Kant-en-klare replicatie
Cassandra 5.0 introduceert een gestroomlijnde benadering voor het implementeren van clusters met meerdere regio's, wat een verbeterd gemak en efficiëntie biedt. Het gebruik van kant-en-klare replicatiefunctionaliteit, het instellen en beheren van clusters met meerdere regio's is toegankelijker geworden, waardoor de integratie en werking in gedistribueerde omgevingen soepeler verloopt. Deze update vermindert de complexiteit die traditioneel gepaard gaat met het implementeren en onderhouden van configuraties voor meerdere regio's, zodat gebruikers de mogelijkheden van Cassandra met een grotere gemak en effectiviteit kunnen gebruiken.
Tip
- Geen: Automatische replicatie is ingesteld op geen.
- SystemKeyspaces: alle systeemsleutelruimten (system_auth, system_traces, system_auth) automatisch repliceren
- AllKeyspaces: alle keyspaces automatisch repliceren en controleren of er nieuwe keyspaces worden gemaakt en vervolgens instellingen voor automatisch repliceren automatisch toepassen.
Scenario's voor automatische replicatie
- Wanneer u een nieuw datacenter toevoegt, wordt de functie voor automatisch repliceren in Cassandra naadloos uitgevoerd
nodetool rebuild
om ervoor te zorgen dat de replicatie van gegevens in het toegevoegde datacenter is geslaagd. - Als u een datacenter verwijdert, wordt het specifieke datacenter automatisch uit de keyspaces verwijderd.
Voor externe datacenters, zoals die die on-premises worden gehost, kunnen ze worden opgenomen in de keyspaces via het gebruik van de eigenschap van het externe datacenter. Hierdoor kan Cassandra deze externe datacenters opnemen als bronnen voor het herbouwproces.
Waarschuwing
Als u automatische replicatie instelt op AllKeyspaces, wordt de replicatie van keyspaces gewijzigd zodat deze worden opgenomen WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'on-prem-datacenter-1' : 3, 'mi-datacenter-1': 3 }
Als dit niet de gewenste topologie is, moet u SystemKeyspaces gebruiken, deze zelf aanpassen en handmatig uitvoeren nodetool rebuild
op het Azure Managed Instance voor Apache Cassandra-cluster.
Cluster de toewijzing ongedaan maken
- Voor niet-productieomgevingen kunt u resources in het cluster onderbreken/de toewijzing ervan ongedaan maken om te voorkomen dat hiervoor kosten in rekening worden gebracht (er worden nog steeds kosten in rekening gebracht voor opslag). Wijzig eerst het clustertype in
NonProduction
en vervolgensdeallocate
.
Tip
Het clustertype moet alleen worden gebruikt als 'Niet-productie' om ontwikkelingskosten te besparen. Ze kunnen worden geleverd met kleinere SKU's en mogen niet worden gebruikt om productieworkloads uit te voeren.
Waarschuwing
- Voor het clustertype dat is gedefinieerd als 'Niet-productie', worden er geen SLA-garanties op toegepast.
- Voer geen schema- of schrijfbewerkingen uit tijdens het ongedaan maken van de toewijzing. Dit kan leiden tot gegevensverlies en in zeldzame gevallen is er sprake van beschadiging van het schema waarvoor handmatige tussenkomst van het ondersteuningsteam is vereist.
Probleemoplossing
Als er een fout optreedt bij het toepassen van machtigingen voor uw virtuele netwerk met behulp van Azure CLI, zoals Kan de gebruiker of service-principal niet vinden in de grafiekdatabase voor 'e5007d2c-4b13-4a74-9b6a-605d99f03501', kunt u dezelfde machtiging handmatig toepassen vanuit Azure Portal. Hier vindt u informatie over hoe u dit doet.
Notitie
De Azure Cosmos DB-roltoewijzing wordt alleen gebruikt voor implementatiedoeleinden. Azure Managed Instanced voor Apache Cassandra heeft geen back-endafhankelijkheden van Azure Cosmos DB.
Verbinding maken met uw cluster
Azure Managed Instance voor Apache Cassandra maakt geen knooppunten met openbare IP-adressen, dus als u verbinding wilt maken met uw zojuist gemaakte Cassandra-cluster, moet u een andere resource in het VNet maken. Dit kan een toepassing zijn of een virtuele machine waarop het opensource-queryprogramma CQLSH van Apache is geïnstalleerd. U kunt een sjabloon gebruiken om een virtuele Ubuntu-machine te implementeren.
Verbinding maken vanuit CQLSH
Nadat de virtuele machine is geïmplementeerd, gebruikt u SSH om verbinding te maken met de machine en installeert u CQLSH met behulp van de onderstaande 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://archive.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 a node in your Datacenter):
host=("<IP>")
initial_admin_password="Password provided when creating the cluster"
cqlsh $host 9042 -u cassandra -p $initial_admin_password --ssl
Verbinding maken vanuit een toepassing
Net als bij CQLSH moet SSL-versleuteling zijn ingeschakeld en moet de certificeringsverificatie worden uitgeschakeld met behulp van een van de ondersteunde Apache Cassandra-clientstuurprogramma's . Zie voorbeelden voor het maken van verbinding met Azure Managed Instance voor Apache Cassandra met behulp van Java, .NET, Node.js en Python.
Het uitschakelen van certificaatverificatie wordt aanbevolen omdat certificaatverificatie niet werkt, tenzij u I.P-adressen van uw clusterknooppunten toe wijzen aan het juiste domein. Als u een intern beleid hebt dat vereist dat u SSL-certificaatverificatie uitvoert voor elke toepassing, kunt u dit vergemakkelijken door vermeldingen zoals 10.0.1.5 host1.managedcassandra.cosmos.azure.com
in uw hosts-bestand toe te voegen voor elk knooppunt. Als u deze aanpak volgt, moet u ook nieuwe vermeldingen toevoegen wanneer u knooppunten omhoog schaalt.
Voor Java raden we u ook ten zeerste aan om speculatief uitvoeringsbeleid in te schakelen waarbij toepassingen gevoelig zijn voor tail-latentie. U vindt hier een demo die laat zien hoe dit werkt en hoe u het beleid hier inschakelt.
Notitie
In de meeste gevallen is het niet nodig om certificaten (rootCA, knooppunt of client, truststores, enzovoort) te configureren of te installeren om verbinding te maken met Azure Managed Instance voor Apache Cassandra. SSL-versleuteling kan worden ingeschakeld met behulp van de standaardvertrouwensopslag en het wachtwoord van de runtime die door de client wordt gebruikt (zie Java-, .NET-, Node.js- en Python-voorbeelden), omdat Azure Managed Instance voor Apache Cassandra-certificaten worden vertrouwd door die omgeving. In zeldzame gevallen, als het certificaat niet wordt vertrouwd, moet u het mogelijk toevoegen aan de truststore.
Clientcertificaten configureren (optioneel)
Het configureren van clientcertificaten is optioneel. Een clienttoepassing kan verbinding maken met Azure Managed Instance voor Apache Cassandra zolang de bovenstaande stappen zijn uitgevoerd. Indien gewenst kunt u echter ook clientcertificaten maken en configureren voor verificatie. Over het algemeen zijn er twee manieren om certificaten te maken:
- Zelfondertekende certificaten. Dit betekent een persoonlijk en openbaar (geen CA)-certificaat voor elk knooppunt. In dit geval hebben we alle openbare certificaten nodig.
- Certificaten die zijn ondertekend door een CA. Dit kan een zelfondertekende CA of zelfs een openbare ca zijn. In dit geval hebben we het basis-CA-certificaat nodig (raadpleeg instructies voor het voorbereiden van SSL-certificaten voor productie) en alle tussenpersonen (indien van toepassing).
Als u verificatie van client-naar-knooppuntcertificaten of wederzijdse MTLS (Transport Layer Security) wilt implementeren, moet u de certificaten opgeven via Azure CLI. Met de onderstaande opdracht worden uw clientcertificaten geüpload en toegepast op de truststore voor uw cluster met Cassandra Managed Instance (u hoeft dus geen instellingen te bewerken cassandra.yaml
). Nadat het cluster is toegepast, moet Cassandra de certificaten controleren wanneer een client verbinding maakt (zie 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
Resources opschonen
Als u dit beheerde exemplaarcluster niet meer gaat gebruiken, verwijdert u het met de volgende stappen:
- Selecteer resourcegroepen in het linkermenu van Azure Portal.
- Selecteer de resourcegroep die u eerder voor deze quickstart hebt gemaakt uit de lijst.
- Selecteer Resourcegroep verwijderen in het deelvenster Overzicht van de resourcegroep.
- Selecteer in het volgende venster de naam van de resourcegroep die u wilt verwijderen en selecteer vervolgens Verwijderen.
Volgende stappen
In deze quickstart hebt u geleerd hoe u een Azure Managed Instance voor Apache Cassandra-cluster maakt met behulp van Azure Portal. U kunt nu aan de slag met het cluster: