云服务器内容精选

  • 配置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位。 至少包含一个小写字母、一个大写字母、一个数字和一个特殊字符,支持的特殊字符包含-%;[]{}@_。 查看密码修改结果: 登录到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来存储修改后的密码。配置文件中包含认证密码信息可能存在安全风险,建议当前场景执行完毕后删除相关配置文件或加强安全管理。
  • 前提条件 ClickHouse服务运行正常,Zookeeper服务运行正常,迁入、迁出节点的ClickHouseServer实例状态正常。 请确保迁入节点已有待迁移数据表,且确保该表是MergeTree系列引擎的分区表。 创建迁移任务前请确保所有对待迁移数据表的写入任务已停止,且任务启动后,只允许对待迁移数据表进行查询操作,禁止对该表进行写入、删除等操作,否则可能会造成迁移前后数据不一致。 迁入节点的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函数方式进行数据迁移。 上述迁移的操作步骤通过迁移工具脚本做了封装处理,只需修改相关配置文件执行迁移脚本即可完成一键式迁移操作,具体可以参考操作步骤说明。
  • 迁移整体流程 迁移整体流程和步骤参考如下: 图2 迁移流程图 表1 迁移流程说明 阶段 流程说明 步骤1:源集群和目标集群网络打通 将源ClickHouse集群和目标ClickHouse集群的网络需要打通,保证两个集群ClickHouse实例节点网络可以互通。 步骤2:在目标集群配置文件中增加源集群的ZooKeeper信息 通过在目标集群的ClickHouse配置文件中添加源集群的ZooKeeper信息,将源集群中的ZooKeeper作为迁移过程中的辅助ZooKeeper。 步骤3:迁移源ClickHouse集群下数据库和表的元数据信息到目标集群 执行元数据迁移脚本,将源集群中的ClickHouse数据库和表的数据库名、表名、表结构等元数据信息迁移到目标集群。 步骤4:迁移源ClickHouse集群下数据库和表数据到目标集群 执行数据迁移脚本,将源集群中的ClickHouse数据库和表的数据迁移至目标集群。
  • 操作场景 在日常使用ClickHouse时,如果出现一些异常故障,需要紧急重启恢复业务,在紧急重启之前,需要及时转储ClickHouse各系统表状态信息,用于问题定位,提升ClickHouse问题定位的效率。 针对不同的系统表日志可以分为实时转储和一键转储,如下表所示: 系统表转储日志 系统表 实时转储系统表日志 system.asynchronous_metrics system.clusters system.distribution_queue system.events system.grants system.mutations system.processes system.metrics system.part_moves_between_shards system.replicas system.replicated_fetches system.replication_queue 一键转储系统表日志 system.distributed_ddl_queue system.errors system.parts system.parts_columns system.query_log system.query_thread_log system.trace_log
  • 收集一键转储系统表日志 使用root用户后台登录任一ClickHouseServer节点,进入到sbin目录下。 cd ${BIGDATA_HOME}/FusionInsight_ClickHouse_*/*_*_ClickHouseServer/install/clickhouse/sbin 执行如下命令获取转储日志: ./clickhouse_systemtable_dump.sh 1 "收集开始时间" "收集结束时间" 例如:./clickhouse_systemtable_dump.sh 1 "2023-08-04 12:00:00" "2023-08-04 16:37:20" 进入“/var/log/Bigdata/clickhouse/systemTableDump/oneclickTable”目录,查看一键转储压缩日志。