Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure Managed Instance for Apache Cassandra es un servicio totalmente administrado para clústeres de Apache Cassandra de código abierto puros. El servicio también permite invalidar las configuraciones, en función de las necesidades específicas de cada carga de trabajo, para lograr la máxima flexibilidad y control.
En este inicio rápido se muestra cómo usar los comandos de la CLI de Azure para configurar un clúster de varias regiones en Azure.
Requisitos previos
Use el entorno de Bash en Azure Cloud Shell. Para más información, consulte Introducción a Azure Cloud Shell.
Si prefiere ejecutar comandos de referencia de la CLI localmente, instale la CLI de Azure. Si utiliza Windows o macOS, considere la posibilidad de ejecutar la CLI de Azure en un contenedor Docker. Para obtener más información, consulte Ejecución de la CLI de Azure en un contenedor de Docker.
Si usa una instalación local, inicie sesión en la CLI de Azure mediante el comando az login. Siga los pasos que se muestran en el terminal para completar el proceso de autenticación. Para ver otras opciones de inicio de sesión, consulte Autenticación en Azure mediante la CLI de Azure.
En caso de que se le solicite, instale las extensiones de la CLI de Azure la primera vez que la use. Para obtener más información sobre las extensiones, consulte Uso y administración de extensiones con la CLI de Azure.
Ejecute az version para buscar cuál es la versión y las bibliotecas dependientes que están instaladas. Para realizar la actualización a la versión más reciente, ejecute az upgrade.
- En este artículo se requiere la versión 2.30.0 o posterior de la CLI de Azure. Si usa Azure Cloud Shell, ya está instalada la versión más reciente.
- Use una red virtual de Azure con conectividad con el entorno autohospedado o local. Para más información sobre cómo conectar entornos locales a Azure, consulte Conexión de una red local a Azure.
Configuración del entorno de red
Dado que todos los centros de datos aprovisionados con este servicio deben implementarse en subredes dedicadas mediante la inserción de red virtual, configure el emparejamiento de red adecuado antes de la implementación. Para este inicio rápido, cree un clúster con dos centros de datos en distintas regiones: Este de EE. UU. y Este de EE. UU. 2. En primer lugar, cree las redes virtuales de cada región.
Inicie sesión en Azure Portal.
Cree un grupo de recursos denominado
cassandra-mi-multi-region:az group create --location eastus2 --name cassandra-mi-multi-regionCree la primera red virtual en Este de EE. UU. 2 con una subred dedicada:
az network vnet create \ --name vnetEastUs2 \ --location eastus2 \ --resource-group cassandra-mi-multi-region \ --address-prefix 10.0.0.0/16 \ --subnet-name dedicated-subnetCree la segunda red virtual en este de EE. UU., también con una subred dedicada:
az network vnet create \ --name vnetEastUs \ --location eastus \ --resource-group cassandra-mi-multi-region \ --address-prefix 192.168.0.0/16 \ --subnet-name dedicated-subnetAgregamos explícitamente intervalos de direcciones IP diferentes para asegurarnos de que no hay errores con el emparejamiento.
Conectar la primera red virtual a la segunda red virtual:
az network vnet peering create \ --resource-group cassandra-mi-multi-region \ --name MyVnet1ToMyVnet2 \ --vnet-name vnetEastUs2 \ --remote-vnet vnetEastUs \ --allow-vnet-access \ --allow-forwarded-trafficPara conectar las dos redes virtuales, cree otro emparejamiento entre la segunda red virtual y la primera:
az network vnet peering create \ --resource-group cassandra-mi-multi-region \ --name MyVnet2ToMyVnet1 \ --vnet-name vnetEastUs \ --remote-vnet vnetEastUs2 \ --allow-vnet-access \ --allow-forwarded-trafficSi agrega más regiones, cada red virtual requiere emparejamiento desde ella hacia todas las demás redes virtuales, y desde todas las demás redes virtuales hacia ella.
Compruebe la salida del comando anterior. Asegúrese de que el valor de
peeringStatees ahoraConnected. Otra manera de comprobar este resultado es ejecutar el comando siguiente:az network vnet peering show \ --name MyVnet1ToMyVnet2 \ --resource-group cassandra-mi-multi-region \ --vnet-name vnetEastUs2 \ --query peeringStateAplique algunos permisos especiales a ambas redes virtuales. Azure Managed Instance for Apache Cassandra requiere estos permisos. Ejecute el siguiente comando: Reemplace
<SubscriptionID>por el identificador de suscripción:az role assignment create \ --assignee a232010e-820c-4083-83bb-3ace5fc29d0b \ --role 4d97b98b-1d4f-4787-a291-c67834d212e7 \ --scope /subscriptions/<SubscriptionID>/resourceGroups/cassandra-mi-multi-region/providers/Microsoft.Network/virtualNetworks/vnetEastUs2 az role assignment create \ --assignee a232010e-820c-4083-83bb-3ace5fc29d0b \ --role 4d97b98b-1d4f-4787-a291-c67834d212e7 \ --scope /subscriptions/<SubscriptionID>/resourceGroups/cassandra-mi-multi-region/providers/Microsoft.Network/virtualNetworks/vnetEastUsLos valores
assigneeyroledel comando anterior son fijos. Escriba estos valores exactamente como se muestra en el comando .
Si se producen errores al ejecutar az role assignment create, es posible que no tenga permisos para ejecutarlo. Póngase en contacto con el administrador para obtener permisos.
Creación de un clúster de varias regiones
Implemente el recurso de clúster. Reemplace
<Subscription ID>con el Id. de suscripción. La implementación puede tardar entre 5 y 10 minutos.resourceGroupName='cassandra-mi-multi-region' clusterName='test-multi-region' location='eastus2' delegatedManagementSubnetId='/subscriptions/<SubscriptionID>/resourceGroups/cassandra-mi-multi-region/providers/Microsoft.Network/virtualNetworks/vnetEastUs2/subnets/dedicated-subnet' 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 \ --debugUna vez creado el recurso de clúster, está listo para crear un centro de datos. En primer lugar, cree un centro de datos en Este de EE. UU. 2. Reemplace
<SubscriptionID>con el Id. de suscripción. Esta acción puede tardar hasta 10 minutos.resourceGroupName='cassandra-mi-multi-region' clusterName='test-multi-region' dataCenterName='dc-eastus2' dataCenterLocation='eastus2' delegatedManagementSubnetId='/subscriptions/<SubscriptionID>/resourceGroups/cassandra-mi-multi-region/providers/Microsoft.Network/virtualNetworks/vnetEastUs2/subnets/dedicated-subnet' 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 3Cree un centro de datos en Este de EE. UU. Reemplace
<SubscriptionID>por el identificador de suscripción:resourceGroupName='cassandra-mi-multi-region' clusterName='test-multi-region' dataCenterName='dc-eastus' dataCenterLocation='eastus' delegatedManagementSubnetId='/subscriptions/<SubscriptionID>/resourceGroups/cassandra-mi-multi-region/providers/Microsoft.Network/virtualNetworks/vnetEastUs/subnets/dedicated-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 $delegatedManagementSubnetId \ --node-count 3 --sku $virtualMachineSKU \ --disk-capacity $noOfDisksPerNode \ --availability-zone falsePuede elegir el valor de
--skude los siguientes niveles de producto disponibles:- 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
Tenga en cuenta también que
--availability-zoneestá establecido enfalse. Para habilitar zonas de disponibilidad, establézcala entrue. Las zonas de disponibilidad aumentan el acuerdo de nivel de servicio (SLA) de disponibilidad del servicio. Para más información, consulte Contratos de nivel de servicio para Azure Managed Instance para Apache Cassandra.Las Availability zones no se admiten en todas las regiones. Se produce un error en las implementaciones si selecciona una región en la que no se admiten las zonas de disponibilidad. Para ver las regiones compatibles, consulte Regiones de Azure con zonas de disponibilidad.
La implementación correcta de zonas de disponibilidad también está sujeta a la disponibilidad de los recursos de proceso en todas las zonas de la región específica. Es posible que se produzca un error en las implementaciones si el nivel de producto seleccionado o la capacidad no está disponible en todas las zonas.
Una vez creado el segundo centro de datos, obtenga el estado del nodo para verificar que todos los nodos de Cassandra se han iniciado correctamente.
resourceGroupName='cassandra-mi-multi-region' clusterName='test-multi-region' az managed-cassandra cluster status\ --cluster-name $clusterName \ --resource-group $resourceGroupNameA continuación, use CQLSH para conectarse al clúster. Use la siguiente consulta CQL para actualizar la estrategia de replicación en cada espacio de claves para incluir todos los centros de datos en el clúster (las tablas del sistema se actualizan automáticamente):
ALTER KEYSPACE "ks" WITH REPLICATION = {'class': 'NetworkTopologyStrategy', 'dc-eastus2': 3, 'dc-eastus': 3};Por último, si agrega un centro de datos a un clúster que ya contiene datos, debe ejecutarse
rebuildpara replicar los datos históricos. En este caso, supongamos que eldc-eastus2centro de datos ya tiene datos. En la CLI de Azure, ejecute el siguiente comando para ejecutarnodetool rebuilden cada nodo del nuevodc-eastuscentro de datos. Reemplace por<ip address>la dirección IP del nodo:az managed-cassandra cluster invoke-command \ --resource-group $resourceGroupName \ --cluster-name $clusterName \ --host <ip address> \ --command-name nodetool --arguments rebuild="" "dc-eastus2"=""No permita que los clientes de aplicaciones escriban en el nuevo centro de datos hasta después de aplicar los cambios de replicación del espacio de claves. De lo contrario, la recompilación no funciona. A continuación, debe crear una solicitud de soporte para que nuestro equipo pueda ejecutar
repairpor usted.
Solución de problemas
Si se produce un error al aplicar permisos a la red virtual mediante la CLI de Azure, puede aplicar el mismo permiso manualmente desde Azure Portal. Un error de ejemplo podría ser "No se puede encontrar el usuario o la entidad de servicio en la base de datos de gráficos para e5007d2c-4b13-4a74-9b6a-605d99f03501". Consulte más información en Portal de Azure para agregar una entidad de servicio de Azure Cosmos DB.
La asignación de roles de Azure Cosmos DB se usa solo con fines de implementación. Azure Managed Instanced para Apache Cassandra no tiene dependencias de back-end en Azure Cosmos DB.
Limpieza de recursos
Si no va a seguir usando este clúster de instancia administrada, siga estos pasos para eliminarlo:
- En el menú de la izquierda de Azure Portal, seleccione Grupos de recursos.
- En la lista, seleccione el grupo de recursos que creó para este inicio rápido.
- En el panel Información general del grupo de recursos, seleccione Eliminar grupo de recursos.
- En el panel siguiente, escriba el nombre del grupo de recursos que desea eliminar y, a continuación, seleccione Eliminar.
Paso siguiente
En esta guía rápida, aprendiste a crear un clúster multirregional mediante la CLI de Azure e Instancia Administrada de Azure para Apache Cassandra. Ahora puede empezar a trabajar con el clúster.