云服务器内容精选

  • 迁移整体流程 迁移整体流程和步骤参考如下: 图2 迁移流程图 表1 迁移流程说明 阶段 流程说明 步骤1:源集群和目标集群网络打通 将源ClickHouse集群和目标ClickHouse集群的网络需要打通,保证两个集群ClickHouse实例节点网络可以互通。 步骤2:在目标集群配置文件中增加源集群的ZooKeeper信息 通过在目标集群的ClickHouse配置文件中添加源集群的ZooKeeper信息,将源集群中的ZooKeeper作为迁移过程中的辅助ZooKeeper。 步骤3:迁移源ClickHouse集群下数据库和表的元数据信息到目标集群 执行元数据迁移脚本,将源集群中的ClickHouse数据库和表的数据库名、表名、表结构等元数据信息迁移到目标集群。 步骤4:迁移源ClickHouse集群下数据库和表数据到目标集群 执行数据迁移脚本,将源集群中的ClickHouse数据库和表的数据迁移至目标集群。
  • 操作场景 场景一:随着 MRS ClickHouse业务数量的增长,原有集群的存储和计算资源已不满足业务需求,需要对集群进行拆分,将部分用户业务及数据库数据迁移到新建集群中。 场景二:MRS ClickHouse集群后端主机所在机房需要搬迁,需要将ClickHouse集群整体迁移到另外一个机房的新集群当中。 为了解决上述场景下对搬迁能力的要求,MRS提供了ClickHouse集群数据一键式工具搬迁能力,将源集群中的ClickHouse数据库、表对象DDL、业务数据迁移到新建集群中。
  • 迁移方案原理介绍 Replicated*MergeTree引擎的复制表迁移: ClickHouse利用ZooKeeper将同一分片下不同副本的Replicated*MergeTree引擎表数据自动进行同步,本迁移方案利用该特性进行数据迁移。大致逻辑步骤如下: 首先,在目标集群的配置文件中添加源集群的ZooKeeper信息作为辅助ZooKeeper。其次,再在目标集群中创建和源集群相同ZooKeeper路径不同副本并且表结构和源集群一致的临时表。临时表创建完成源集群中的数据将会自动同步到临时表。最后,等待源集群数据同步到目标集群的临时表完成后,将目标集群中的临时表数据复制到正式表即可。 图1 Replicated*MergeTree引擎表迁移架构图 分布式表迁移: 分布式表不涉及表数据,只涉及表的元数据信息,迁移过程中会将源集群ClickHouse分布式表的元数据信息导出,然后将元数据信息修改为目标集群的ZooKeeper路径和副本,根据修改后的元数据信息在目标集群新建表即可。 非复制表和物化视图迁移: 针对非复制表和物化视图采用调用remote函数方式进行数据迁移。 上述迁移的操作步骤通过迁移工具脚本做了封装处理,只需修改相关配置文件执行迁移脚本即可完成一键式迁移操作,具体可以参考操作步骤说明。
  • 修改ClickHouse默认用户密码 使用root用户登录ClickHouse安装节点,切换到omm用户,进入“$BIGDATA_HOME/ FusionInsight _ClickHouse_*/install/FusionInsight-ClickHouse-*/clickhouse/clickhouse_change_password”目录。 su - omm cd $BIGDATA_HOME/FusionInsight_ClickHouse_*/install/FusionInsight-ClickHouse-*/clickhouse/clickhouse_change_password 执行如下命令修改default或clickhouse用户密码: ./change_password.sh 如下所示:以clickhouse用户为例,按照提示输入clickhouse和密码,等待密码修改完成。 密码复杂度要求: 密码长度限制是8~64位。 至少包含一个小写字母、一个大写字母、一个数字和一个特殊字符,支持的特殊字符包含-%;[]{}@_。 查看密码修改结果: MRS 3.3.0-LTS版本:登录到ClickHouse Server节点的,查看“${BIGDATA_HOME}/FusionInsight_ClickHouse_*/*_ClickHouseServer/etc/users.xml”文件中参数“password_sha256_hex”的值,即为存储修改后的密码。 cd ${BIGDATA_HOME}/FusionInsight_ClickHouse_*/*_ClickHouseServer/etc/ vi users.xml 如下所示:用password_sha256_hex来存储修改后的密码。 MRS 3.3.1-LTS及之后版本:查看密码修改结果: 登录到ClickHouse Server节点的,查看“${BIGDATA_HOME}/FusionInsight_ClickHouse_*/*_ClickHouseServer/etc/users.xml”文件中参数“password_PBKDF2_hex”的值,即为存储修改后的密码。 cd ${BIGDATA_HOME}/FusionInsight_ClickHouse_*/*_ClickHouseServer/etc/ vi users.xml 如下所示:用password_PBKDF2_hex来存储修改后的密码。
  • 前提条件 ClickHouse服务运行正常,Zookeeper服务运行正常,迁入、迁出节点的ClickHouseServer实例状态正常。 请确保迁入节点已有待迁移数据表,且确保该表是MergeTree系列引擎的分区表。 创建迁移任务前请确保所有对待迁移数据表的写入任务已停止,且任务启动后,只允许对待迁移数据表进行查询操作,禁止对该表进行写入、删除等操作,否则可能会造成迁移前后数据不一致。 迁入节点的ClickHouse数据目录有足够的空间。
  • 前提条件 ClickHouse服务运行正常,Zookeeper服务运行正常,迁入、迁出节点的ClickHouseServer实例状态正常。 请确保迁入节点已有待迁移数据表,且确保该表是MergeTree系列引擎的分区表。 创建迁移任务前请确保所有对待迁移数据表的写入任务已停止,且任务启动后,只允许对待迁移数据表进行查询操作,禁止对该表进行写入、删除等操作,否则可能会造成迁移前后数据不一致。 迁入节点的ClickHouse数据目录有足够的空间。
  • 操作步骤 使用具有ClickHouse系统表修改权限的用户登录客户端节点,连接到ClickHouse服务端,具体请参考使用ClickHouse客户端。 清理存量系统表数据,执行如下命令: truncate table system.query_log on cluster default_cluster; truncate table system.query_thread_log on cluster default_cluster; truncate table system.trace_log on cluster default_cluster; 系统表配置TTL,保留近30天的数据,执行如下命令: alter table system.query_log on cluster default_cluster modify TTL event_time + INTERVAL 30 day; alter table system.query_thread_log on cluster default_cluster modify TTL event_time + INTERVAL 30 day; alter table system.trace_log on cluster default_cluster modify TTL event_time + INTERVAL 30 day;