Rychlý Start: vytvoření spravované instance Azure pro cluster Apache Cassandra pomocí Azure CLI

Spravovaná instance Azure pro Apache Cassandra poskytuje automatizované operace nasazení a škálování pro spravovaná Open Source datacentra Apache Cassandra. Tato služba vám pomůže zrychlit hybridní scénáře a snížit průběžnou údržbu.

Tento rychlý Start ukazuje, jak pomocí příkazů Azure CLI vytvořit cluster se službou Azure Managed instance pro Apache Cassandra. Také ukazuje vytvoření datového centra a škálování uzlů v rámci datového centra nahoru nebo dolů.

Požadavky

  • V nástroji použijte prostředí Bash Azure Cloud Shell.

    Spuštění služby Cloud Shell v novém okně

  • Pokud tomu dáváte přednost, můžete nainstalovat Azure CLI a spouštět referenční příkazy CLI.

    • Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení jsou popsané v tématu Přihlášení pomocí Azure CLI.

    • Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.

    • Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.

Důležité

Tento článek vyžaduje Azure CLI verze 2.30.0 nebo novější. Pokud používáte Azure Cloud Shell, nejnovější verze je už nainstalovaná.

Vytvoření clusteru spravované instance

  1. Přihlaste se k portálu Azure Portal.

  2. V Azure CLI nastavte své ID předplatného:

    az account set -s <Subscription_ID>
    
  3. V dalším kroku vytvořte ve skupině prostředků Virtual Network s vyhrazenou podsítí:

    az network vnet create -n <VNet_Name> -l eastus2 -g <Resource_Group_Name> --subnet-name <Subnet Name>
    

    Poznámka

    Nasazení spravované instance Azure pro Apache Cassandra vyžaduje přístup k Internetu. Nasazení se nezdařilo v prostředích, kde je omezen přístup k Internetu. Ujistěte se, že neblokujete přístup v rámci vaší virtuální sítě do následujících důležitých služeb Azure, které jsou nezbytné pro správné fungování spravovaných Cassandra:

    • Azure Storage
    • Azure KeyVault
    • Azure Virtual Machine Scale Sets
    • Monitorování Azure
    • Azure Active Directory
    • Zabezpečení Azure
  4. Použijte některá zvláštní oprávnění pro Virtual Network, která jsou vyžadována spravovanou instancí. Použijte az role assignment create příkaz, nahraďte <subscriptionID> , <resourceGroupName> a <vnetName> s příslušnými hodnotami:

    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>
    

    Poznámka

    assigneeHodnoty a role v předchozím příkazu jsou pevné hodnoty. Tyto hodnoty zadejte přesně tak, jak je uvedeno v příkazu. V takovém případě se to nepovede, takže při vytváření clusteru dojde k chybám. Pokud narazíte na chyby při spuštění tohoto příkazu, možná nemáte oprávnění k jeho spuštění, kontaktujte svého správce a požádejte ho o oprávnění.

  5. Potom vytvořte cluster nově vytvořeným Virtual Network pomocí příkazu AZ Managed-Cassandra cluster Create . Spusťte následující příkaz s hodnotou delegatedManagementSubnetId proměnné:

    Poznámka

    Hodnota proměnné, kterou poskytnete delegatedManagementSubnetId níže, je přesně stejná jako hodnota --scope , kterou jste zadali v příkazu výše:

    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 \
      --debug
    
  6. Nakonec vytvořte datacentrum pro cluster se třemi uzly, standardní SKU virtuálního počítače D8s v4, se 4 disky P30 připojenými pro každý uzel pomocí příkazu 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 false
    

    Poznámka

    Hodnotu pro --sku lze zvolit z následujících dostupných SKU:

    • 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

    Všimněte si také, že --availability-zone je nastavena na false . Pokud chcete povolit zóny dostupnosti, nastavte tuto možnost na true . Zóny dostupnosti zvyšují smlouvu SLA pro dostupnost služby. Další podrobnosti najdete v podrobnostech o smlouvě SLA zde.

    Upozornění

    Zóny dostupnosti nejsou podporovány ve všech oblastech. Pokud vyberete oblast, kde se zóny dostupnosti nepodporují, nasazení se nezdaří. Podporované oblasti najdete tady . Úspěšné nasazení zón dostupnosti se vztahuje i na dostupnost výpočetních prostředků ve všech zónách v dané oblasti. Pokud vybraná SKU nebo kapacita není dostupná ve všech zónách, nasazení se nemusí zdařit.

  7. Pokud chcete horizontální navýšení kapacity nebo horizontální navýšení kapacity uzlů v datovém centru, spusťte příkaz AZ Managed-Cassandra Datacenter Update . Změňte hodnotu node-count parametru na požadovanou hodnotu:

    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 
    

Připojení ke clusteru

Spravovaná instance Azure pro Apache Cassandra nevytváří uzly s veřejnými IP adresami. Pokud se chcete připojit ke svému nově vytvořenému clusteru Cassandra, musíte v rámci virtuální sítě vytvořit jiný prostředek. Tímto prostředkem může být aplikace nebo virtuální počítač s nainstalovaným Open Source dotazovacím nástrojem Apache CQLSH . K nasazení virtuálního počítače s Ubuntu můžete použít šablonu správce prostředků . Po nasazení se k počítači připojte pomocí SSH a nainstalujte CQLSH, jak je znázorněno v následujících příkazech:

# 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

Řešení potíží

Pokud při aplikování oprávnění k vašemu Virtual Network pomocí rozhraní příkazového řádku Azure CLI dojde k chybě, jako je třeba Najít uživatele nebo instanční objekt v databázi grafu pro ' e5007d2c-4b13-4a74-9b6a-605d99f03501 ', můžete stejné oprávnění použít ručně z Azure Portal. Tadyse dozvíte, jak to udělat.

Poznámka

přiřazení role Azure Cosmos DB se používá jenom pro účely nasazení. spravovaná instance Azure spravovaná pro Apache Cassandra nemá žádné back-endové závislosti na Azure Cosmos DB.

Vyčištění prostředků

Pokud už je nepotřebujete, můžete az group delete k odebrání skupiny prostředků, spravované instance a všech souvisejících prostředků použít příkaz:

az group delete --name <Resource_Group_Name>

Další kroky

V tomto rychlém startu jste zjistili, jak vytvořit spravovanou instanci Azure pro cluster Apache Cassandra pomocí Azure CLI. Teď můžete začít pracovat s clusterem: