Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Cómputo
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gestión y gobernanza
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migración
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análisis
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Otros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Seguridad y cumplimiento
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Blockchain
Blockchain Service
Servicios multimedia
Media Processing Center
Video On Demand
Live
SparkRTC
Almacenamiento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Contenedores
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bases de datos
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicaciones empresariales
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribución de contenido y cómputo de borde
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluciones
SAP Cloud
High Performance Computing
Servicios para desarrolladores
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
aPaaS MacroVerse
KooPhone
KooDrive

Restricciones en la reducción de ClickHouseServer

Actualización más reciente 2023-11-20 GMT+08:00

Escala de clúster

  • Si un clúster solo tiene un shard, los nodos de instancia no se pueden quitar del clúster.
  • Múltiples nodos de instancia en el mismo shard deben desmantelarse o volver a ponerse en servicio al mismo tiempo.

    La información del fragmento del clúster se puede consultar ejecutando la sentencia SQL select cluster,shard_num,replica_num,host_name from system.clusters;.

Almacenamiento de clústeres

Asegúrese de que el espacio en disco de los nodos que no se desmantelarán sea suficiente para almacenar datos de todos los nodos desmantelados. Debe haber aproximadamente un 10% de espacio de almacenamiento redundante después del desmantelamiento para garantizar que las instancias restantes puedan funcionar correctamente. El procedimiento es el siguiente:

  1. Ejecute el siguiente comando para comprobar el uso del disco en cada nodo:

    select * from system.disks;

    free_space indica el espacio libre en disco, y total_space indica el espacio total en disco. El espacio usado se calcula restando el valor de free_space del de total_space y su unidad es byte.

  2. Ejecute el comando anterior en un nodo que desea retirar del servicio y calcule el volumen de datos en el nodo mediante la fórmula anterior.
  3. Ejecute el comando anterior en un nodo que no se retirará del servicio y, a continuación, utilice la siguiente fórmula: (Valor de free_space - Volumen de datos del nodo que se va a desmantelar)/Valor de total_space. Si el resultado es superior al 10%, el nodo se puede retirar del servicio.

Estado del clúster

Si hay algún nodo de instancia de ClickHouseServer defectuoso en el clúster, no se pueden retirar todos los nodos de instancia del clúster. Elija Cluster > Services > ClickHouse, haga clic en Instance y vea el estado de ejecución de cada nodo del clúster.

Base de datos

Si una base de datos solo se implementa en un nodo de instancia que desea desmantelar, no se puede desmantelar el nodo de instancia. Para quitar el nodo de instancia, debe crear la base de datos en todos los nodos de instancia de ClickHouseServer del clúster. El procedimiento es el siguiente:

  1. Ejecute el comando select * from system.databases; para recopilar la lista de base de datos de cada nodo.

    name indica el nombre de la base de datos. engine indica el motor de base de datos y el valor predeterminado es Atomic. Si se utiliza el motor predeterminado, no es necesario especificar el motor al crear una tabla.

  2. Para la base de datos desplegada solo en el nodo de instancia que se va a desmantelar, ejecute el siguiente comando para crear la base de datos:

    create database xxx engine=xxx on cluster xxx;

Tabla local no replicada

Si una tabla no replicada local se despliega solo en un nodo de instancia que desea desmantelar, no se puede desmantelar el nodo de instancia. Para desmantelar el nodo, cree una tabla local no replicada con el mismo nombre en cualquier nodo que no se desmantelar.

Por ejemplo, el clúster actual tiene dos shards, el shard 1 tiene dos nodos A y B, y el shard 2 tiene dos nodos C y D. La tabla no replicada test se creó sin la palabra clave ON CLUSTER, por lo que la tabla solo se crea en el nodo A.

En este caso, para desmantelar los nodos A y B en shard 1, es necesario crear la tabla test en el nodo C o D en shard 2.

Ejecute el siguiente comando para listar las tablas de datos de cada nodo:

select database,name,engine,create_table_query from system.tables where database != 'system';

Realice las siguientes operaciones según el resultado:

  • Compruebe la columna engine. La tabla que no contiene el campo Replicated es una tabla local no replicada.
  • Si no hay tablas replicadas en ningún nodo que no se retiren, cree una basada en la tabla creada por create_table_query. La siguiente sentencia de creación es un ejemplo:

    CREATE TABLE {database}.{table} ('column name' type...) ENGINE = MergeTree;

Tabla replicada

Si solo existe una tabla replicada en algunos nodos del clúster, no se pueden retirar los nodos en los que se despliega la tabla replicada. Debe crear manualmente la tabla replicada en todos los nodos de instancia en los que no se despliega ninguna tabla replicada en el clúster antes de retirar el servicio.

Por ejemplo, el clúster actual tiene dos particiones, la partición 1 tiene dos nodos A y B, y la partición 2 tiene dos nodos C y D. La tabla replicada test se creó sin la palabra clave ON CLUSTER por lo que la tabla solo se crea en los nodos A y B.

Para desmantelar los nodos A y B en el fragmento 1, es necesario crear la tabla test en los nodos C y D en la partición 2.

Ejecute el siguiente comando para listar las tablas de datos de cada nodo:

select database,name,engine,create_table_query from system.tables where database != 'system';

Realice las siguientes operaciones según el resultado:

  • Compruebe la columna engine. La tabla que contiene el campo Replicated es una tabla replicada.
  • Si no hay tablas replicadas en ningún nodo que no se retiren, cree una basada en la tabla creada por create_table_query.

Tabla distribuida

Las tablas distribuidas no se migrarán automáticamente para el desmantelamiento. Cree tablas distribuidas en los nodos que no se retirarán del servicio.

Ejecute el siguiente comando para listar las tablas de datos de cada nodo y compruebe la columna engine. Estas tablas son tablas distribuidas si esta columna contiene el campo Distributed.

select database,name,engine from system.tables where database != 'system';

NOTA:

La creación de tablas distribuidas en estos nodos no afectará al desmantelamiento, pero puede afectar a las operaciones de servicio posteriores.

Vista

Las vistas no se migrarán automáticamente para el desmantelamiento y las vistas no almacenan datos. Ejecute el siguiente comando para listar las tablas de datos de cada nodo y compruebe la columna engine. Estas tablas son vistas si esta columna contiene el campo View.

select database,name,engine from system.tables where database != 'system';

Ejecute el siguiente comando para eliminar las vistas una por una:

drop view {database_name}.{table_name};

Vistas materializadas

Las vistas materializadas no se migrarán automáticamente para Desmantelamiento. Cree vistas materializadas en los nodos que no se retirarán del servicio. Si la vista materializada de un nodo que se va a desmantelar no muestra la tabla de agregación especificada, pero utiliza una tabla incrustada, el nodo no se puede desmantelar.

Ejecute el siguiente comando para listar las tablas de datos de cada nodo y compruebe la columna engine. Estas tablas son vistas materializadas si esta columna contiene el campo MaterializedView.

select database,name,engine, create_table_query from system.tables where database != 'system';

La tabla cuya columna create_table_query contiene el campo POPULATE es una tabla incrustada. Las vistas se inicializan cuando se crean y los datos recién insertados se omiten durante la inicialización. Una tabla que no contiene el campo POPULATE es una tabla de agregación. Los datos recién insertados se insertan directamente en los gráficos de vista y las tablas de soporte, y los datos originales se cargan manualmente en las vistas y las tablas de soporte. Las operaciones de creación de tabla de la tabla de agregación y la tabla incrustada son diferentes.

Realice las siguientes operaciones para procesar las vistas materializadas del nodo que se va a retirar del servicio:

  1. Registre las vistas materializadas y elimínelas.

    drop view {database_name}.{table_name};

  2. Una vez completada la retirada de nodos, elimine y vuelva a crear las vistas materializadas correspondientes en los nodos en uso para actualizar las vistas materializadas.
  3. Para crear una tabla de agregación, especifique WHERE para buscar datos históricos e importar manualmente los datos históricos a las vistas materializadas. De lo contrario, los datos históricos no se pueden importar a las vistas materializadas según condiciones unificadas. Como resultado, los datos se importan repetidamente. Por ejemplo, se puede especificar un punto de actualización para garantizar que los datos antes del punto de actualización se carguen manualmente en modo INSERT.
    • Agregue WHERE { Time field (for example, date)}>= toDate ({ Current time (for example, '2022-12-01 00:00:00')}) a la sentencia de creación de tabla.
    • insert into {table} select {Table field} from {Source table} where {Time field}< toDate ({Current time}) is used to load original data.
  4. Las tablas incrustadas perderán los datos generados durante la creación de tablas. Puede especificar WHERE para filtrar todos los datos históricos. En este caso, se crea una tabla vacía y solo es necesario insertar manualmente todos los datos en la tabla de origen de datos históricos.

Tablas de motores de terceros

Actualmente, las tablas de motores de terceros no se pueden migrar automáticamente para su desmantelamiento.

Ejecute el siguiente comando para listar las tablas de datos de cada nodo y compruebe la columna engine. Estas tablas son tablas de motores de terceros si esta columna no contiene ninguno de los siguientes campos: MergeTree, View, MaterializedView, Distributed, and Log. (La columna engine de una tabla de motor de terceros puede contener campo Memory, HDFS, o MySQL.)

select database,name,engine from system.tables where database != 'system';

Cree tablas de motor de terceros en los nodos que no se retirarán del servicio y elimine las de los nodos que se retirarán del servicio.

Datos desvinculados

Si la tabla de un nodo que se va a retirar del servicio se ha desconectado y todavía existen datos en el directorio detached, el nodo no se puede retirar del servicio. Es necesario adjuntar los datos del directorio detached a otros directorios antes de retirar el servicio.

  1. Ejecute el siguiente comando para ver el catálogo del sistema system.detached_parts del nodo que se va a retirar del servicio:

    select * from system.detached_parts;

  2. Si existen datos de detached part y estas particiones ya no se utilizan, ejecute el siguiente comando para eliminar los datos de detached part:

    ALTER TABLE {table_name} DROP DETACHED PARTITION {partition_expr} SETTINGS allow_drop_detached = 1;

  3. Ejecute el siguiente comando para comprobar si hay algún dato detached part en el catálogo del sistema system.detached_parts:

    select * from system.detached_parts;

    Si la salida del comando está vacía, no hay datos de detached part en este catálogo del sistema.

Utilizamos cookies para mejorar nuestro sitio y tu experiencia. Al continuar navegando en nuestro sitio, tú aceptas nuestra política de cookies. Descubre más

Comentarios

Comentarios

Comentarios

0/500

Seleccionar contenido

Enviar el contenido seleccionado con los comentarios