详细部署文档见D:\Blog\source_posts\Clickhouse集群部署\下的word文档
ROOT部署
| 一: 安装docker和docker-compose | ||||
|---|---|---|---|---|
| 服务器 | 操作用户 | 序列 | 步骤 | 操作命令 |
| 168.130.7.11 (APP1) 168.130.7.12 (APP2) 168.130.7.13 (DB1) 168.130.7.14 (DB2) 168.130.7.15 (CP1) 168.130.7.16 (CP2) | root | 1 | 准备工作:hylc.zip | 上传 hylc.zip 到 /home/hybrisk 目录 |
| cd /home/hybrisk | ||||
| unzip hylc.zip | ||||
| cd hylc | ||||
| mv docker_deploy ../ | ||||
| cd ../docker_deploy/1.docker-setup | ||||
| 2 | 安装docker和docker-compose | tar -zxf docker-20.10.11.tgz | ||
| cp docker/* /usr/local/bin/ | ||||
| cp docker-compose-Linux-x86_64 /usr/local/bin/docker-compose | ||||
| chmod +x /usr/local/bin/docker-compose | ||||
| 3 | 新建docker配置文件 | mkdir -p /etc/docker/ | ||
| 创建配置文件1 | vi /etc/docker/daemon.json | |||
| 填写文件内容(6行) | { “registry-mirrors”: [ “https://registry.docker-cn.com" ], “data-root”: “/home/hybrisk/docker” } | |||
| 创建配置文件2 | vi /usr/lib/systemd/system/docker.service | |||
| 填写文件内容(23行) | [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify ExecStart=/usr/local/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID LimitNOFILE=infinity LimitNPROC=infinity TimeoutStartSec=0 Delegate=yes KillMode=process Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target | |||
| 4 | 加载并启动docker | systemctl daemon-reload | ||
| systemctl enable docker | ||||
| systemctl start docker | ||||
| 5 | 把hybrisk加入docker用户组,并对相应的文件赋权 | groupadd docker | ||
| usermod -aG docker hybrisk | ||||
| systemctl daemon-reload | ||||
| systemctl restart docker | ||||
| chown -R hybrisk:docker /home/hybrisk/docker | ||||
| chown -R hybrisk:docker /usr/local/bin/containerd /usr/local/bin/docker /usr/local/bin/ctr /usr/local/bin/runc | ||||
| chown -R hybrisk:docker /etc/docker/daemon.json | ||||
| chown -R hybrisk:docker /usr/lib/systemd/system/docker.service | ||||
| cd /home/hybrisk | ||||
| chown -R hybrisk:hybrisk docker_deploy | ||||
| chown -R hybrisk:hybrisk hylc hylc.zip |


| 二: 安装ClickHouse | ||||
|---|---|---|---|---|
| 服务器 | 用户 | 序列 | 描述 | 操作步骤 |
| 168.130.7.13(DB1) 168.130.7.14(DB2) 168.130.7.16(CP2) | root | 1 | 确认clickhouse用户已经创建 确认clickhouse数据目录 如果没有,需要运维团队确认 | ls /home/clickhouse |
| ls /home/clickhouse/data | ||||
| 2 | 准备工作:installs.zip | 上传ClickHouse安装文件installs.zip 到 /home/clickhouse/data 目录 | ||
| cd /home/clickhouse/data | ||||
| unzip installs.zip | ||||
| cd installs | ||||
| 3 | 解压安装包 | tar -zxf clickhouse-client-22.3.6.5-amd64.tgz | ||
| tar -zxf clickhouse-common-static-22.3.6.5-amd64.tgz | ||||
| tar -zxf clickhouse-server-22.3.6.5-amd64.tgz | ||||
| 4 | 安装公共包 | ./clickhouse-common-static-22.3.6.5/install/doinst.sh | ||
| 5 | 安装服务端 | ./clickhouse-server-22.3.6.5/install/doinst.sh 输入hybrisk 输入N | ||
| 6 | 安装客户端 | ./clickhouse-client-22.3.6.5/install/doinst.sh | ||
| 7 | 如果防火墙开启,增加端口配置 | systemctl status firewalld 确认返回: Active: active(running)。 如返回内容中包含 Active: inactive (dead),则表示服务器没有开启防火墙,可以直接跳到第9步 | ||
| firewall-cmd –add-port=8123/tcp –permanent | ||||
| firewall-cmd –add-port=9000/tcp –permanent | ||||
| firewall-cmd –add-port=9004/tcp –permanent | ||||
| firewall-cmd –reload | ||||
| 8 | 创建数据挂载目录 (根据实际硬盘挂载目录再调整) | mkdir -p /home/clickhouse/data/ck1 | ||
| 9 | 给目录赋权 | chown clickhouse:clickhouse -R /home/clickhouse/data/ck1 | ||
| 10 | 配置目录属主赋予clickhouse用户 | chown clickhouse:clickhouse -R /etc/clickhouse-server | ||
| chown clickhouse:clickhouse -R /etc/clickhouse-client | ||||
| chown clickhouse:clickhouse -R /home/clickhouse/data | ||||
| root | 11 | 备份工具安装: clickhouse-backup | cd /home/clickhouse/data/installs | |
| tar -xf clickhouse-backup.tar | ||||
| cd clickhouse-backup | ||||
| cp clickhouse-backup /usr/local/bin/ | ||||
| chown clickhouse:clickhouse -R /usr/local/bin/clickhouse-backup | ||||
| chown clickhouse:clickhouse -R /home/clickhouse/data |

应用部署
| 一: 启动ClickHouse | ||||
|---|---|---|---|---|
| 服务器 | 用户 | 序列 | 描述 | 操作步骤 |
| 168.130.7.13(DB1) 168.130.7.14(DB2) 168.130.7.16(CP2) | clickhouse | 1 | 创建默认配置文件备份目录 | mkdir /etc/clickhouse-server/bk |
| 2 | 移除默认配置文件 | chmod -R 775 /etc/clickhouse-server/ | ||
| mv /etc/clickhouse-server/* /etc/clickhouse-server/bk | ||||
| 3 | 上传配置文件/13/* | cd /etc/clickhouse-server | ||
| 中转机下载13.zip | ||||
| unzip 13.zip | ||||
| cd 13 | ||||
| mv * ../ | ||||
| chmod -R 755 /etc/clickhouse-server/ | ||||
| 4 | 上传配置文件/14/* | cd /etc/clickhouse-server | ||
| 中转机下载14.zip | ||||
| unzip 14.zip | ||||
| cd 14 | ||||
| mv * ../ | ||||
| chmod -R 755 /etc/clickhouse-server/ | ||||
| 5 | 上传配置文件/16/* | cd /etc/clickhouse-server | ||
| 中转机下载16.zip | ||||
| unzip 16.zip | ||||
| cd 16 | ||||
| mv * ../ | ||||
| chmod -R 755 /etc/clickhouse-server/ | ||||
| 7 | 手动创建日志目录 | mkdir /home/clickhouse/data/log | ||
| 8 | 压缩备份脚本 | cd /etc/clickhouse-server | ||
| zip -r bk.zip bk | ||||
| rm -rf bk | ||||
| 9 | 启动clickhouse | clickhouse start |

| 二: ClickHouse 导入数据 | |||||
|---|---|---|---|---|---|
| 服务器 | 用户 | 序列 | 描述 | 操作步骤 | |
| 168.130.7.16(CP2) | clickhouse | 1 | 创建备份目录(表结构) | mkdir /var/lib/clickhouse/backup | |
| mkdir /home/clickhouse/data/ck1/backup | |||||
| 2 | 上传 ch_bk_yyyymmdd.table.zip | 上传至 /var/lib/clickhouse/backup 目录 | |||
| 上传 ch_bk_yyyymmdd.data.zip | 上传至 /home/clickhouse/data/ck1/backup 目录 | ||||
| 3 | 上传三份配置文件到备份目录 config_13.xml, config_14.xml, config_15,xml | 上传至 /var/lib/clickhouse/backup | 一台服务器执行 | ||
| 4 | 登录客户端 | clickhouse-client -h 127.0.0.1 -u cebrisk –password | |||
| 5 | 创建数据库 | create database chdb on cluster jxshares; | |||
| 6 | 退出客户端 | exit | |||
| 7 | 导入表结构及数据 | clickhouse-backup restore -c /var/lib/clickhouse/backup/config_13.yml -s ch_bk_yyyymmdd | |||
| clickhouse-backup restore -c /var/lib/clickhouse/backup/config_14.yml -s ch_bk_yyyymmdd | |||||
| clickhouse-backup restore -c /var/lib/clickhouse/backup/config_16.yml ch_bk_yyyymmdd |

| 三: 导入MySQL数据 | |||||
|---|---|---|---|---|---|
| 服务器 | 用户 | 序列 | 描述 | 操作步骤 | |
| 168.130.7.13 (DB1) | mysql | 1 | 导入数据 | 项目组提供数据文件,由行方数据库运维人员导入 | 完成 |
| mysql -u hybrisk -p | |||||
| use hybrisk | |||||
| source /备份脚本路径/xxx.sql |

| 四: 安装应用 | ||||
|---|---|---|---|---|
| 服务器 | 用户 | 序列 | 描述 | 操作步骤 |
| 168.130.7.11(APP1) 168.130.7.12(APP2) | hybrisk | 1 | 上传文件 docker_deploy_xx.zip | 上传至 /home/hybrisk/ 目录 |
| 2 | 放置安装文件 | mkdir /home/hybrisk/tmp | ||
| mv docker_deploy_xx.zip /home/hybrisk/tmp/ | ||||
| cd /home/hybrisk/tmp/ | ||||
| unzip docker_deploy_xx.zip | ||||
| cd docker_deploy | ||||
| mv * /home/hybrisk/docker_deploy | ||||
| 3 | 进镜像目录 | cd /home/hybrisk/docker_deploy/images | ||
| 4 | 加载Nginx镜像 | docker load < prmnginx.tar | ||
| 5 | 加载金融算法镜像 | docker load < fin_server_1.2.0.tar | ||
| 6 | docker load < fin_jupyter_1.0.0.tar | |||
| 7 | docker load < jxhub_1.0.0.tar | |||
| 8 | 加载jdk镜像 | docker load < openjdk_8u292-jdk_GMT8_1.0.tar | ||
| docker load < jxhub_1.0.0.tar |

| 五: 安装应用 | ||||
|---|---|---|---|---|
| 服务器 | 用户 | 序列 | 描述 | 操作步骤 |
| 168.130.7.15(CP1) 168.130.7.16(CP2) | hybrisk | 1 | 上传文件 docker_deploy_xx.zip | 上传至 /home/hybrisk/ 目录 |
| 2 | 放置安装文件 | mkdir /home/hybrisk/tmp | ||
| mv docker_deploy_xx.zip /home/hybrisk/tmp/ | ||||
| cd /home/hybrisk/tmp/ | ||||
| unzip docker_deploy_xx.zip | ||||
| cd docker_deploy | ||||
| mv * /home/hybrisk/docker_deploy | ||||
| 3 | 进镜像目录 | cd /home/hybrisk/docker_deploy/images | ||
| 7 | 加载jdk镜像 | docker load < openjdk_8u292-jdk_GMT8_1.0.tar | ||
| 六: 启动应用 | ||||
| 服务器 | 用户 | 序列 | 描述 | 操作步骤 |
| 168.130.7.11(APP1) 168.130.7.12(APP2) 168.130.7.15(CP1) 168.130.7.16(CP2) | hybrisk | 1 | 登录启动目录 | cd /home/hybrisk/docker_deploy/dc-start |
| 2 | 启动所有应用 | docker-compose up -d | ||
| 3 | 停止所有应用 | docker-compose down | ||
| 4 | 重启某个应用 | docker-compose restart 某应用 | ||
| 七: 验证 | ||||
| 服务器 | 用户 | 序列 | 描述 | 操作步骤 |
| 办公终端 | 1 | 绩效归因服务 | http://168.130.7.17/hxbweb/ | |
| 2 | 绩效归因中台 | http://168.130.7.17/dpweb/ | ||
| 堡垒机/跳板机 | 3 | 注册中心 | http://168.130.7.11:8761 | |
| 4 | 金融算法开发平台 | http://168.130.7.11:8001 | ||
| 5 | MySQL连接 | 168.130.7.18:3306/dbrisk | ||
| 6 | ClickHouse连接(dbeaver) | 168.130.7.19:8123/chdb |

验证
