Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure Managed Instance for Apache Cassandra je plně spravovaná služba pro čistě opensourcové clustery Apache Cassandra. Služba také umožňuje přepsání konfigurací v závislosti na konkrétních potřebách jednotlivých úloh pro maximální flexibilitu a kontrolu.
Tento rychlý start ukazuje, jak pomocí příkazů Azure CLI vytvořit cluster se službou Azure Managed Instance for Apache Cassandra. Ukazuje také, jak vytvořit datacentrum a škálovat uzly nahoru nebo dolů v rámci datacentra.
Požadavky
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Začínáme s Azure Cloud Shellem.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
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í najdete v tématu Ověřování v Azure 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 Použití a správa rozšíření pomocí 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.
- Použijte virtuální síť Azure s připojením k vašemu vlastnímu nebo místnímu prostředí. Další informace o připojení místních prostředí k Azure najdete v tématu Připojení místní sítě k Azure.
- Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Důležité
Tento článek vyžaduje Azure CLI verze 2.30.0 nebo novější. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.
Vytvoření clusteru spravovaných instancí
Přihlaste se do Azure Portalu.
Nastavení ID předplatného v Azure CLI:
az account set --subscription <Subscription_ID>Vytvořte virtuální síť s vyhrazenou podsítí ve vaší skupině prostředků.
az network vnet create --name <VNet_Name> --location eastus2 \ --resource-group <Resource_Group_Name> --subnet-name <Subnet Name>Nasazení instance služby Azure Managed Instance for Apache Cassandra vyžaduje přístup k internetu. Nasazení selže v prostředích, kde je omezený přístup k internetu. Ujistěte se, že ve virtuální síti neblokujete přístup k následujícím službám Azure, které jsou potřeba pro správné fungování služby Azure Managed Instance for Apache Cassandra:
- Azure Storage
- Azure Key Vault
- Škálovací sady virtuálních strojů Azure
- Azure Monitor
- Microsoft Entra ID
- Microsoft Defender for Cloud
Použijte tato konkrétní oprávnění pro virtuální síť. Spravovaná instance je vyžaduje. Použijte příkaz
az role assignment createa nahraďte<subscriptionID>,<resourceGroupName>a<vnetName>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>Hodnoty
assigneearolejsou pevné. Zadejte tyto hodnoty přesně tak, jak je uvedeno v příkazu. Pokud toto neprovedete, vede to k chybám při vytváření clusteru. Pokud při spuštění tohoto příkazu dojde k nějakým chybám, možná nemáte oprávnění k jeho spuštění. Požádejte o oprávnění správce Azure.Vytvořte cluster v nově vytvořené virtuální síti pomocí příkazu az managed-cassandra cluster create . Spusťte následující příkaz s hodnotou
delegatedManagementSubnetIdproměnné. (HodnotadelegatedManagementSubnetIdje stejný název virtuální sítě, pro který byla použita oprávnění.)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 \ --debugVytvoření datacentra pro cluster se třemi virtuálními počítači Použijte následující konfiguraci:
- Velikost virtuálního počítače: Standard E8s v5
- Datové disky: 4 disky P30 připojené k jednotlivým nasazeným virtuálním počítačům
Po dokončení všech informací použijte příkaz 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 falseVyberte hodnotu
--skuz následujících dostupných velikostí virtuálních počítačů:- Standard_E8s_v5
- Standard_E16s_v5
- Standard_E20s_v5
- Standard_E32s_v5
Ve výchozím nastavení je
--availability-zonenastavena nafalse. Pokud chcete povolit zóny dostupnosti, nastavte ho natrue. Zóny dostupnosti pomáhají zvýšit dostupnost služby. Další informace naleznete v tématu Smlouvy o rozsahu služeb pro online služby.Zóny dostupnosti nejsou podporované ve všech oblastech Azure. Nasazení selžou, pokud vyberete oblast, ve které nejsou zóny dostupnosti podporované. Podporované oblasti najdete v seznamu oblastí Azure.
Úspěšné nasazení zón dostupnosti podléhá dostupnosti výpočetních prostředků ve všech zónách ve vybrané oblasti. Nasazení selžou, pokud vybraná velikost virtuálního počítače není dostupná v oblasti, kterou jste vybrali.
Po vytvoření datacentra můžete spuštěním příkazu az managed-cassandra datacenter update vertikálně snížit nebo vertikálně navýšit kapacitu clusteru. Změňte hodnotu parametru
node-countna 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
Azure Managed Instance for Apache Cassandra nevytváří uzly s veřejnými IP adresami. Pokud se chcete připojit k novému clusteru Cassandra, musíte ve stejné virtuální síti vytvořit další prostředek. Tento prostředek může být aplikace nebo virtuální počítač s nainstalovaným prostředím CQLSH (Cassandra Query Language Shell). CQLSH je opensourcový nástroj pro dotazy Apache.
K nasazení virtuálního počítače s Ubuntu můžete použít šablonu Azure Resource Manageru .
Vzhledem k některým známým problémům s verzemi Pythonu doporučujeme použít image Ubuntu 22.04, která je součástí Pythonu 3.10.12 nebo virtuálního prostředí Pythonu ke spuštění CQLSH.
Připojení z CQLSH
Po nasazení virtuálního počítače se pomocí Secure Shellu připojte k počítači a nainstalujte CQLSH. Použijte následující příkazy:
# Install default-jre and default-jdk
sudo apt update
sudo apt install openjdk-8-jdk openjdk-8-jre
Zkontrolujte, které verze Cassandra jsou stále podporované , a vyberte verzi, kterou potřebujete. Doporučujeme používat stabilní verzi.
Nainstalujte knihovny Cassandra a získejte CQLSH. Postupujte podle oficiálních kroků v dokumentaci Cassandra.
Připojení z aplikace
Stejně jako u CQLSH musí být při použití některého z podporovaných klientských ovladačů Apache Cassandra pro připojení z aplikace povolené šifrování TLS/SSL (Transport Layer Security Security/Secure Sockets Layer) a ověření certifikátu musí být zakázané. Ukázky najdete v javě, .NET, Node.jsa Pythonu.
Doporučujeme zakázat ověření certifikátu, protože nefunguje, pokud nenamapujete IP adresy uzlů clusteru na příslušnou doménu. Pokud interní zásady vyžadují, abyste pro každou aplikaci provedli ověření certifikátu TLS/SSL, přidejte položky jako 10.0.1.5 host1.managedcassandra.cosmos.azure.com v souboru hostitelů pro každý uzel, aby se usnadnilo toto nastavení. Pokud tento přístup přijmete, musíte také přidat nové položky pokaždé, když zvýšíte kapacitu uzlů.
Pro Javu doporučujeme povolit spekulativní zásady spouštění , ve kterých jsou aplikace citlivé na koncovou latenci. Ukázku, která ukazuje, jak tento přístup funguje a jak tuto zásadu povolit, najdete v tématu Implementace spekulativních zásad spouštění.
Pro připojení ke službě Azure Managed Instance for Apache Cassandra obvykle nemusíte konfigurovat certifikáty (například rootCA, nodeclient, nebotruststore). Šifrování TLS/SSL používá výchozí úložiště důvěryhodných certifikátů a heslo zvolené klientem pro runtime. Vzorový kód najdete v javě, .NET, Node.jsa Pythonu). Certifikáty jsou ve výchozím nastavení důvěryhodné. Pokud ne, přidejte je do úložiště důvěryhodnosti.
Konfigurace klientských certifikátů (volitelné)
Konfigurace klientských certifikátů je volitelná. Klientská aplikace se může po provedení předchozích kroků připojit ke službě Azure Managed Instance for Apache Cassandra. Pokud chcete, můžete také vytvořit a nakonfigurovat klientské certifikáty pro ověřování. Obecně platí, že existují dva způsoby, jak vytvořit certifikáty:
- Certifikáty podepsané svým držitelem: Privátní a veřejné certifikáty bez certifikační autority (CA) pro každý uzel. V tomto případě jsou vyžadovány všechny veřejné certifikáty.
- Certifikáty podepsané certifikační autoritou: Certifikáty vydané certifikační autoritou podepsané svým držitelem nebo veřejnou certifikační autoritou. Pro toto nastavení potřebujete kořenový certifikát certifikační autority a všechny zprostředkující certifikáty( pokud je to možné). Další informace najdete v tématu Příprava certifikátů SSL pro produkční prostředí.
Pokud chcete implementovat ověřování certifikátů mezi klientem nebo vzájemné zabezpečení vrstvy přenosu, zadejte certifikáty pomocí Azure CLI. Následující příkaz nahraje a použije klientské certifikáty do úložiště důvěryhodnosti pro cluster Azure Managed Instance for Apache Cassandra. Nemusíte měnit cassandra.yaml nastavení. Po aplikaci certifikátů cluster vyžaduje, aby Cassandra ověřovala certifikáty během klientských připojení. Další informace najdete require_client_auth: true v client_encryption_options Cassandra.
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
Řešení problému
Pokud při použití oprávnění pro virtuální síť pomocí Azure CLI dojde k chybě, můžete stejné oprávnění použít ručně z webu Azure Portal. Příkladem takové chyby je "Nelze najít uživatele nebo instanční objekt v grafové databázi pro e5007d2c-4b13-4a74-9b6a-605d99f03501." Další informace najdete v tématu Použití webu Azure Portal k přidání instančního objektu služby Azure Cosmos DB.
Přiřazení role Azure Cosmos DB se používá jenom pro účely nasazení. Spravovaná instance Azure pro Apache Cassandra nemá žádné back-endové závislosti ve službě Azure Cosmos DB.
Vyčištění prostředků
Pokud už prostředek nepotřebujete, pomocí az group delete příkazu odeberte skupinu prostředků, spravovanou instanci a všechny související prostředky:
az group delete --name <Resource_Group_Name>
Další krok
V tomto rychlém startu jste zjistili, jak vytvořit cluster Azure Managed Instance for Apache Cassandra pomocí Azure CLI. Teď můžete začít pracovat s clusterem: