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

  1. Meld u aan bij het Azure-portaal.

  2. Zoek in de zoekbalk naar Managed Instance voor Apache Cassandra en selecteer het resultaat.

    Schermopname van zoeken naar Azure SQL Managed Instance voor Apache Cassandra.

  3. Selecteer De knop Managed Instance maken voor Apache Cassandra-cluster .

    Het cluster maken.

  4. 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 er 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.

    Vul het formulier cluster maken in.

    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.
  5. Selecteer vervolgens het tabblad Datacenter .

  6. 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.

    Schermopname van het selecteren van een SKU-grootte.

    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.

    Bekijk de samenvatting om het datacenter te maken.

    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.

  7. Selecteer Vervolgens Beoordelen en maken>

    Notitie

    Het kan tot 15 minuten duren voordat het cluster is gemaakt.

    Bekijk de samenvatting om het cluster te maken.

  8. Nadat de implementatie is voltooid, controleert u de resourcegroep om het zojuist gemaakte beheerde exemplaarcluster te zien:

    Overzichtspagina nadat het cluster is gemaakt.

  9. Als u door de clusterknooppunten wilt bladeren, gaat u naar de clusterresource en opent u het deelvenster Data Center om deze weer te geven:

    Schermopname van datacenterknooppunten.

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:

Schermopname van het schalen van datacenterknooppunten.

Horizontaal schalen

Als u wilt uitschalen op knooppunten, verplaatst u de schuifregelaar naar het gewenste getal of bewerkt u de waarde. Wanneer u klaar bent, drukt u op Scale.

Schermopname van het selecteren van het aantal datacenterknooppunten.

Verticale schaal

Als u omhoog wilt schalen naar een krachtigere SKU-grootte voor uw knooppunten, selecteert u in de Sku Size vervolgkeuzelijst. Wanneer u klaar bent, drukt u op Scale.

Schermopname van het selecteren van SKU-grootte.

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.

Een datacenter toevoegen

  1. Als u een ander datacenter wilt toevoegen, klikt u op de knop Toevoegen in het deelvenster Datacenter :

    Schermopname van het toevoegen van een 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>
    
  2. 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.

    Datacenter toevoegen.

    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).

  3. Wanneer het datacenter is geïmplementeerd, moet u alle datacentergegevens in het deelvenster Datacenter kunnen bekijken:

    Bekijk de clusterbronnen.

  4. 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};
    
  5. 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 voeren nodetool 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:

  1. Zoek Cassandra Configuration onder instellingen. Markeer het datacenter waarvan u de configuratie wilt wijzigen en klik op Bijwerken:

    Schermopname van het geselecteerde datacenter om de configuratie bij te werken.

  2. Voer in het venster dat wordt geopend de veldnamen in YAML-indeling in, zoals hieronder wordt weergegeven. Klik vervolgens op Bijwerken.

    Schermopname van het bijwerken van de cassandra-configuratie van het datacenter.

  3. Wanneer de update is voltooid, worden de overschreven waarden weergegeven in het Cassandra Configuration deelvenster:

    Schermopname van de bijgewerkte Cassandra-configuratie.

    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 4.1, 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.

  1. Update Het deelvenster zoeken op het tabblad Overzicht

    Schermopname van het bijwerken van de Cassandra-versie.

  2. Selecteer 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.

    Schermopname van het selecteren van cassandra-versie.

  3. 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.

Selecteer de optie Waarnaar wordt verwezen in de vervolgkeuzelijst.

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

  1. 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 NonProductionen vervolgens deallocate.

Waarschuwing

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.

Schermopname van het onderbreken van een cluster.

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 naar 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 van 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:

  1. Selecteer resourcegroepen in het linkermenu van Azure Portal.
  2. Selecteer de resourcegroep die u eerder voor deze quickstart hebt gemaakt uit de lijst.
  3. Selecteer Resourcegroep verwijderen in het deelvenster Overzicht van de resourcegroep.
  4. 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: