云服务器内容精选
-
视图 退服不支持视图自动迁移,且视图不存储数据。可以使用如下命令收集各节点数据表,查看engine列,engine是View引擎即为视图: select database,name,engine from system.tables where database != 'system'; 再执行如下命令将视图逐个删除: drop view {database_name}.{table_name};
-
第三方引擎的表 退服目前不支持第三方引擎的表自动迁移。 使用如下命令收集各节点数据表,查看engine列,除包含MergeTree、View、MaterializedView、Distributed、Log字段外的其他数据表即为第三方引擎的表,如Memory、HDFS、MySQL等: select database,name,engine from system.tables where database != 'system'; 对于以上第三方引擎表,建议在非退服节点上重建该表,并在退服节点删除该表。
-
本地非复制表 若某本地非复制表只存在于待退服实例节点上,则无法进行退服。需要在非退服任意一个节点上创建同名的本地非复制表。 比如,当前集群2个分片,分片1下面有两个节点A和B,分片2下面有两个节点C和D。创建非复制表test的时候没有携带ON CLUSTER关键字,只在节点A上创建了该表。 当前如果要退服分片1下面的A和B节点时,则不允许退服,需要在分片2的C或者D一个节点上创建表test后才能正常退服。 使用如下命令收集各节点数据表: select database,name,engine,create_table_query from system.tables where database != 'system'; 根据结果: 查看engine列,不含Replicated字段的表是本地非复制表。 对于未退服节点上不存在的本地非复制表,根据create_table_query列的建表语句进行创建,建表语句样例如下: CREATE TABLE {database}.{table} (‘column name’ type…) ENGINE = MergeTree;
-
分布式表 退服不支持分布式表自动迁移,建议退服前在非退服节点上重建分布式表。 使用如下命令收集各节点数据表,查看engine列,engine是Distributed引擎即为分布式表: select database,name,engine from system.tables where database != 'system'; 退服前,在非退服节点不重建分布式表本身不影响退服操作,只是可能影响后续业务操作。
-
复制表 若某复制表只存在于集群的部分实例节点上,则无法对该复制表所在的实例节点进行退服。需要在集群中不存在此复制表的所有实例节点上手工创建此复制表。 比如,当前集群2个分片,分片1下面有两个节点A和B,分片2下面有两个节点C和D。创建复制表test的时候没有携带ON CLUSTER关键字,只在节点A和B上创建了该表。 当前如果要退服分片1下面的A和B节点时,则不允许退服,需要在分片2的C和D节点上同时创建复制表test后才能正常退服。 使用如下命令收集各节点数据表: select database,name,engine,create_table_query from system.tables where database != 'system'; 根据结果: 查看engine列,包含Replicated字段的表即为复制表。 对于未退服节点上不存在的复制表,根据create_table_query列的建表语句结果进行创建。
-
Detached数据 若待退服节点上的表进行过detach操作,在detached目录下还存在数据,则无法进行退服。需要先进行attach操作将detached目录下数据处理后再执行退服操作。 执行如下命令查看退服节点的system.detached_parts系统表: select * from system.detached_parts; 如果存在detached part数据,在确认这些partition都没有用的情况下,执行如下命令将part数据删除: ALTER TABLE {table_name} DROP DETACHED PARTITION {partition_expr} SETTINGS allow_drop_detached = 1; 执行完成后,再次查看是否system.detached_parts系统表中的数据已不存在,执行如下命令: select * from system.detached_parts; 如果查询结果为空,则表示当前已不存在detached part。
-
集群规模 集群只有1个shard分片,无法进行退服。 同一个shard分片下的多个节点副本必须一起退服或入服。 查询集群分片信息操作: 以客户端安装用户,登录安装客户端的节点,执行命令: cd {客户端安装目录} source bigdata_env 安全模式: kinit ClickHouse组件业务用户 clickhouse client --host ClickHouse的实例IP --port 9440--secure 普通模式: clickhouse client --host ClickHouse的实例IP --user 用户名 --password --port 9000 输入用户密码 执行如下命令查询集群分片信息: select cluster,shard_num,replica_num,host_name from system.clusters;
-
集群存储空间 集群退服操作前,集群非退服节点磁盘空间需要满足存储所有退服节点的数据,并且各非退服节点的存储空间在退服后还能有大约10%的空间冗余,保证退服后剩余实例正常运行。具体操作步骤如下: 执行此命令收集各节点磁盘空间存储情况: select * from system.disks; free_space列表示磁盘空闲空间,total_space列表示磁盘总空间,total_space-free_space大小即为磁盘已使用空间,获取的值均以字节为单位。 在退服节点执行上述命令,计算total_space-free_space磁盘已使用空间,得到退服节点数据量大小。 在非退服节点执行上述命令,计算(free_space可用空间大小-退服节点数据量)/total_space总存储空间大小,如果结果大于10%,即可正常退服。
-
数据库 若某数据库只存在于待退服实例节点上,则无法进行退服。需要在集群所有ClickHouseServer实例节点上创建该数据库。具体操作步骤如下: 执行此命令收集各节点数据库列表:select * from system.databases; name列为数据库名,engine列为数据库引擎,默认为Atomic。若为默认引擎,建表时可不指定引擎。 对于只存在于待退服实例节点的数据库,执行此命令创建数据库: create database xxx engine=xxx on cluster xxx;
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格