Clickhouse集群部署

详细部署文档见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

image-20230418115612786

image-20230418115633317

二: 安装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

image-20230418115817549

应用部署

一: 启动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

image-20230418115948996

二: 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

image-20230418120020095

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

image-20230418120045035

四: 安装应用
服务器 用户 序列 描述 操作步骤
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

image-20230418120113416

五: 安装应用
服务器 用户 序列 描述 操作步骤
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

image-20230418120145697

验证

image-20230418133702182