Поделиться через


Управление ресурсами Azure Управляемый экземпляр для Apache Cassandra с помощью Azure CLI

В этой статье описываются распространенные команды для автоматизации управления Управляемый экземпляр Azure для кластеров и центров обработки данных Apache Cassandra с помощью Azure CLI.

Необходимые компоненты

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

Для этой статьи требуется Azure CLI версии 2.30.0 или более поздней. Если вы используете Azure Cloud Shell, последняя версия уже установлена.

Внимание

Невозможно переименовать управление ресурсами Azure Управляемый экземпляр для ресурсов Apache Cassandra. Переименование этих ресурсов нарушает работу Azure Resource Manager с URI ресурсов.

Управление кластерами

В следующих разделах показано, как управлять Управляемый экземпляр Azure для кластеров Apache Cassandra:

Создание кластера

Чтобы создать кластер Управляемого экземпляра Azure для Apache Cassandra, выполните команду az managed-cassandra cluster create:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
location='West US'
delegatedManagementSubnetId='/subscriptions/<subscription id>/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/management'
initialCassandraAdminPassword='myPassword'

# You can override the cluster name if the original name is not legal for an Azure resource:
# overrideClusterName='ClusterNameIllegalForAzureResource'
# The default Cassandra version is v3.11

az managed-cassandra cluster create \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName \
    --location $location \
    --delegated-management-subnet-id $delegatedManagementSubnetId \
    --initial-cassandra-admin-password $initialCassandraAdminPassword \

Удаление кластера

Чтобы удалить кластер, выполните команду az managed-cassandra cluster delete:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'

az managed-cassandra cluster delete \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName

Получение сведений о кластере

Получите сведения о кластере с помощью команды az managed-cassandra cluster show:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'

az managed-cassandra cluster show \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName

Получение сведений о состоянии узла кластера

Получите состояние узлов кластера с помощью команды состояния кластера az managed-cassandra:

clusterName='cassandra-hybrid-cluster'
resourceGroupName='MyResourceGroup'

az managed-cassandra cluster status \
    --cluster-name $clusterName \
    --resource-group $resourceGroupName

Получение списка кластеров по группам ресурсов

Получите список кластеров с разбивкой по группам ресурсов с помощью команды az managed-cassandra cluster list:

subscriptionId='MySubscriptionId'
resourceGroupName='MyResourceGroup'

az managed-cassandra cluster list\
    --resource-group $resourceGroupName

Получение списка кластеров по идентификатору подписки

Получите список кластеров с разбивкой по идентификаторам подписки с помощью команды az managed-cassandra cluster list:

# Set your subscription ID
az account set -s <subscriptionID>

az managed-cassandra cluster list

Управление центрами обработки данных

В следующих разделах показано, как управлять Управляемый экземпляр Azure для центров обработки данных Apache Cassandra:

Создание центра обработки данных

Создайте центр обработки данных, выполнив команду az managed-cassandra datacenter create:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'
dataCenterLocation='eastus2'
delegatedSubnetId='/subscriptions/<SubscriptionID>/resourceGroups/customer-vnet-rg/providers/Microsoft.Network/virtualNetworks/customer-vnet/subnets/dc1-subnet'
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 $delegatedSubnetId \
    --node-count 3 
    --sku $virtualMachineSKU \
    --disk-capacity $noOfDisksPerNode \
    --availability-zone false

Выберите значение для --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
  • Standard L8s_v3
  • Standard L16s_v3
  • Standard_L32s_v3
  • Standard_L8as_v3
  • Standard_L16as_v3
  • Standard_L32as_v3

В настоящее время Azure Управляемый экземпляр для Apache Cassandra не поддерживает переход между семействами виртуальных машин. Например, если у вас в настоящее время есть Standard_DS13_v2 виртуальная машина и заинтересованы в обновлении до более крупной виртуальной машины, например Standard_DS14_v2, этот параметр недоступен. Однако вы можете открыть запрос в службу поддержки, чтобы запросить обновление.

В приведенной выше команде --availability-zone задано значение false. Чтобы включить зоны доступности, задайте для этого значения trueзначение. Зоны доступности увеличивают соглашение об уровне обслуживания (SLA) для обеспечения доступности службы. Дополнительные сведения см. в полных сведениях об уровне обслуживания.

Предупреждение

Azure Управляемый экземпляр для Apache Cassandra не поддерживает зоны доступности во всех регионах. Если выбрать регион, в котором зоны доступности не поддерживаются, развертывание завершится ошибкой. См. список поддерживаемых регионов.

Успешное развертывание зон доступности также зависит от доступности вычислительных ресурсов во всех зонах в регионе. Развертывание может завершиться ошибкой, если выбранная виртуальная машина или емкость недоступна во всех зонах.

Удаление центра обработки данных

Удалите центр обработки данных, выполнив команду az managed-cassandra datacenter delete:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'

az managed-cassandra datacenter delete \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName 

Предупреждение

Если в кластере есть несколько центров обработки данных, сначала необходимо удалить все ссылки на центр обработки данных, который вы пытаетесь удалить в любом параметре стратегии репликации пространства ключей . Эта команда завершится ошибкой, если все пространства ключей в кластере по-прежнему имеют ссылки на центр обработки данных.

Получение сведений о центре обработки данных

Получите сведения о центре обработки данных, выполнив команду az managed-cassandra datacenter show:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'

az managed-cassandra datacenter show \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName 

Обновление или масштабирование центра обработки данных

Обновление или масштабирование центра обработки данных с помощью команды az managed-cassandra datacenter update :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'

az managed-cassandra datacenter update \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName \
    --node-count 13 

Чтобы масштабировать центр обработки данных, измените --node-count значение.

Получение конфигурации Cassandra

Получите текущую конфигурацию YAML узла с помощью команды az managed-cassandra cluster invoke-command :

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
commandName='get-cassandra-yaml'
 
az managed-cassandra cluster invoke-command \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --host <ip address> \
    --command-name 'get-cassandra-yaml'

Вы можете сделать выходные данные более читаемыми с помощью следующих команд:

$output = az managed-cassandra cluster invoke-command \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --host <ip address> \
    --command-name 'get-cassandra-yaml' \
    | ConvertFrom-Json
$output.commandOutput

Обновление конфигурации Cassandra

Измените конфигурацию Cassandra в центре обработки данных с помощью команды az managed-cassandra datacenter update . Необходимо закодировать фрагмент YAML в Base64 с помощью интерактивного средства.

Например, рассмотрим следующий фрагмент YAML:

column_index_size_in_kb: 16
read_request_timeout_in_ms: 10000

При кодировании yamL преобразуется в: Y29sdW1uX2luZGV4X3NpemVfaW5fa2I6IDE2CnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAwMA==

Ниже приведена az managed-cassandra datacenter update команда с закодированным фрагментом YAML:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'
dataCenterLocation='eastus'
yamlFragment='Y29sdW1uX2luZGV4X3NpemVfaW5fa2I6IDE2CnJlYWRfcmVxdWVzdF90aW1lb3V0X2luX21zOiAxMDAwMA=='

az managed-cassandra datacenter update \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName \
    --data-center-name $dataCenterName \
    --base64-encoded-cassandra-yaml-fragment $yamlFragment

Внимание

Убедитесь, что предоставленные параметры Cassandra YAML подходят для вашей версии Cassandra. См. параметры Cassandra версии 3.11 и параметры Cassandra версии 4.0. Вы не можете обновить следующие параметры YAML:

  • cluster_name
  • seed_provider
  • initial_token
  • autobootstrap
  • client_encryption_options
  • server_encryption_options
  • transparent_data_encryption_options
  • audit_logging_options
  • authenticator
  • authorizer
  • 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

Получение списка центров обработки данных в кластере

Получите список центров обработки данных в кластере с помощью команды az managed-cassandra datacenter list:

resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'

az managed-cassandra datacenter list \
    --resource-group $resourceGroupName \
    --cluster-name $clusterName

Следующие шаги