ckman 无 sudo 权限情况下部署 clkchouse 集群
文章目录
ckman 部署 ClickHouse 集群
- ckman是一款管理和监控ClickHouse集群的工具。它通过前端界面直观展示集群的相关信息,可以便捷地对集群进行部署、升级,节点的增删等。
- git:https://github.com/housepower/ckman
- 规划
hostname | ip | 用户 | 用户目录 | 部署服务 | 用途 |
---|---|---|---|---|---|
ckman | 172.25.8.185 | ckman | /app/ckman | ckman | ckman 管理服务 |
zk1 | 172.25.8.180 | zookeeper | /app/aookeeper | zookeeper | zookeeper 集群节点 1 |
zk2 | 172.25.8.179 | zookeeper | /app/aookeeper | zookeeper | zookeeper 集群节点 2 |
zk3 | 172.25.8.182 | zookeeper | /app/aookeeper | zookeeper | zookeeper 集群节点3 |
ck1 | 172.25.8.183 | clickhouse | /app/clickhouse | clickhouse | clickhouse 集群节点01 |
ck2 | 172.25.8.178 | clickhouse | /app/clickhouse | clickhouse | clickhouse 集群节点02 |
ck3 | 172.25.8.177 | clickhouse | /app/clickhouse | clickhouse | clickhouse 集群节点03 |
ck4 | 172.25.8.176 | clickhouse | /app/clickhouse | clickhouse | clickhouse 01 节点的副本节点 |
ck5 | 172.25.8.181 | clickhouse | /app/clickhouse | clickhouse | clickhouse 02 节点的副本节点 |
ck6 | 172.25.8.184 | clickhouse | /app/clickhouse | clickhouse | clickhouse 03 节点的副本节点 |
部署 ckman
-
使用 ckman 用户
-
下载安装包
|
|
- 安装
|
|
- 启动
|
|
- 访问:http://IP:8808
- 默认用户名密码为:ckman/Ckman123456!

部署 zookeeper
- 上传 jdk、zookeeper 安装包
- jdk:https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html
- zookeeper:https://archive.apache.org/dist/zookeeper/
- zookeeper 用户执行
- 当前使用版本:
- jdk-8u411-linux-x64.tar.gz
- apache-zookeeper-3.8.4-bin.tar.gz
配置 jdk(所有部署zk的节点配置)
- 解压
|
|
- 配置 jdk 环境变量
|
|
- 生效环境变量
|
|
安装 zookeeper(所有部署zk的节点均执行)
- 创建安装目录
|
|
- 解压缩至安装目录下
|
|
- 建立软连接
|
|
修改 zookeeper 配置(所有部署zk的节点均执行)
- 修改 zookeeper zoo.cfg 配置
|
|
- 修改 zookeeper java.env 配置
|
|
节点配置节点标识(每个部署zk节点单独执行)
- zk1
|
|
- zk2
|
|
- zk3
|
|
启动 Zookeeper 集群(所有部署zk的节点均执行)
|
|
- 查看集群状态
|
|
部署 ClickHouse
调整系统配置(所有部署 ClickHouse 的节点均执行)
- PS:需使用 root 用户执行,但是不执行不影响 ck 运行,仅作为调优用途
overcommit_memory 设为 0
- 参数控制了系统在内存分配时是否允许超过实际可用内存的情况
- 0: 默认值,允许传统的内存过度分配机制。系统会允许分配的内存总量超过实际可用内存,但只有在使用时才会分配物理内存。
- 1: 始终允许内存过度分配。即使系统实际可用内存不足,系统也会继续分配内存,可能导致OOM。
- 2: 禁用内存过度分配。当内存请求无法满足时,系统会拒绝分配内存
|
|
关闭透明大页
- 大页(Transparent HugePages)旨在提高应用程序性能,但对于数据库系统如ClickHouse,THP可能引发性能不稳定,特别是在处理大量小型随机访问时。大页可能导致内存碎片和延迟增加,因为操作系统需要更多时间来管理大页内存
- ClickHouse等数据库系统建议禁用THP,以提高内存管理效率和整体性能
|
|
关闭 swap
|
|
- 更改 fstab 文件,注释到 swap 挂载文件
|
|
配置免密
- ckman 服务器生层 key
|
|
- 传key
|
|
- 复制公钥至 ckman 目录
|
|
下载 clickhouse 安装包
- 下载地址
- 官网:https://packages.clickhouse.com/tgz/stable/
- 阿里:https://mirrors.aliyun.com/clickhouse/
- 版本说明:
- lts: 长期支持版本,稳定且提供长时间维护
- prestable: 准备稳定的版本,新功能正在最终测试中
- stable: 稳定版本,适合大多数用户日常使用
- testing: 测试版本,含最新功能,可能不够稳定,适合开发者和测试者
- 下载包:
ckman 上传安装包
- Settings -> Upload Packages

- 选择要上传的三个 tar 包,上传


- 但是上传完包后,仅显示 clickhouse-common-static 包,系正常现象

创建集群
- 首页 -> 创建集群

- 按需配置 ck 节点

- 根据实际情况配置 zk 节点

- 配置 ck 数据目录、ckman 连接 ck 服务器的用户名、端口等
- 注意,数据目录需先手动创建好
- 注意,目录结尾要有斜杠(/)

- 点击创建集群,等待创建完成


- 查看集群

参考
文章作者 Xiang
上次更新 2024-10-19