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 pro 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 s Azure Managed Instance pro 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 Shell. Další informace naleznete v tématu Začínáme s Azure Cloud Shell.
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 Dockeru. Další informace viz Jak spustit Azure CLI v kontejneru Docker.
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 Authenticate pro 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 autonomnímu nebo místnímu prostředí. Další informace o připojení místních prostředí k Azure najdete v tématu Pojení místní sítě k Azure.
- Pokud nemáte předplatné Azure, vytvořte si účet free než začnete.
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 k portálu Azure.
Nastavte 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 Azure Managed Instance pro 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í Azure Managed Instance pro Apache Cassandra:
- Azure Storage
- Azure Key Vault
- Azure Sady pro Škálování Virtuálních Strojů
- 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: K jednotlivým nasazeným virtuálním počítačům jsou připojené čtyři disky P30. Při nastavování velikosti úložiště naplánujte maximální trvalé využití 50%, abyste zajistili odpovídající prostor pro náhrobky a využití disků systémovými službami. Kromě toho zálohy dočasně spotřebovávají místo na místním disku před uložením do úložiště objektů blob.
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 najdete v tématu Smlouvy o úrovni služeb pro online služby.Zóny dostupnosti nejsou podporované ve všech Azure oblastech. Nasazení selžou, pokud vyberete oblast, ve které nejsou zóny dostupnosti podporované. Podporované oblasti najdete v seznamu Azure oblastí.
Ú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 pro 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 Manager.
Vzhledem k některým známým problémům s verzemi Pythonu doporučujeme použít image Ubuntu 22.04, která obsahuje Python 3.10.12, nebo virtuální prostředí Pythonu, abyste spustili 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 tématech Java, .NET, Node.js a Python.
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 Java doporučujeme povolit politiku spekulativního provádění v případech, kdy jsou aplikace citlivé na latenci na konci. Pro ukázku, která ilustruje, jak tento přístup funguje, a jak tuto zásadu povolit, viz článek Implementace zásady spekulativního výkonu.
Pro připojení k Azure Managed Instance pro Apache Cassandra obvykle nemusíte konfigurovat certifikáty (například rootCA, node, client nebo truststore). Š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 tématu Java, .NET, Node.js a Python). 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á. Po provedení předchozích kroků se klientská aplikace může připojit k Azure Managed Instance pro 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 váš Azure Managed Instance pro cluster 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 portálu Azure. 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í portálu Azure k přidání Azure Cosmos DB instančního objektu.
Přiřazení role Azure Cosmos DB se používá pouze pro účely nasazení. Azure managed Instanced for Apache Cassandra nemá žádné back-endové závislosti na Azure Cosmos DB.
Uvolně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 Azure Managed Instance pro cluster Apache Cassandra pomocí Azure CLI. Teď můžete začít pracovat s clusterem: