ClickHouse管理工具—ckman教程(3)从ckman源码分析部署集群时的主要步骤
CKman(ClickHouse Manager)是由擎创科技自主研发的一款管理ClickHouse的工具,前端用Vue框架,后端使用Go语言编写。它主要用来管理ClickHouse集群、节点以及数据监控等,致力于服务ClickHouse分布式的操作以及管理。同时提供简单的数据查询窗口。
本系列文章将逐步介绍ckman从安装到使用的详细教程,今天分享给大家的是从CKman源码分析部署集群时的主要步骤:
CKman系列教程3
函数入口:DeployCk
1. 参数校验
判断集群名是否已经存在(clusters.json)
解析简写的ip列表,根据是否支持副本判断ip列表个数的奇偶是否符合规范
检查路径的权限(是否存在,clickhouse是否可访问)
存储策略相关的校验(略)
2. 部署
1)Init
cat /proc/meminfo | grep MemTotal | awk {print $2} 取各节点的内存大小
test -f /proc/net/if_inet6; echo $? 判断是否支持ipv6
hostname -f 取各节点的hostname
2)Prepare
将client,server,common三个rpm安装包拷贝到各节点上(并发操作)上传到各节点的rpm目录下
3)Install
systemctl stop clickhouse-server 防止以前还有其他运行的ck服务
DEBIAN_FRONTEND=noninteractive rpm --force --nosignature -ivh xxxclientxxx.rpm xxxserverxxx.rpm xxxcommonxxx.rpm
删除原有的数据目录,并重新创建,修改所有权为clickhouse用户。
4)Config
metrika.xml 集群相关的配置(各节点一样,对逻辑集群有特殊处理,此处先略过)
custom.xml ckman做的一些特殊的优化配置(各节点一样)
users_xxx.xml 用户相关的配置(各节点一样)
profiles.xml 用户资源配置相关(各节点不一样)
host.xml 各个节点自己的配置(各节点不一样)
-----------------------
ckman早期版本中,是提前准备好一个模板,然后将其中的关键字替换掉,形成最终的配置文件,但这样有个缺点就是不好做各个ck版本之间的兼容,因此,在2.1.2版本之后,放弃了模板,利用ck自身对配置文件的merge行为,将所有的配置文件都配置在config.d 和users.d下面,在ck服务启动时,最终merge到/data01/clickhouse/preprocessed_configs/目录下的config.xml和users.xml中
5)Start
systemctl start clickhouse-server
6)Check
使用client分别连接到各节点,看是否能登录得上
相关文章
- 微信小程序官方组件展示之导航functional-page-navigator源码
- Spring Framework 源码学习笔记(二)
- Spring Framework 源码学习笔记(四)
- ruoyi-vue版本框架(一)如何下载源码,并且在本地启动
- 进销存管理系统【源码开放】[通俗易懂]
- 图解图库Neo4j系列-Neo4j图数据库的本地源码编译教程(neo4j source code compile)
- 在线客服系统源码 自适应手机移动端 支持多商家 带搭建教程
- 好用的在线客服系统Go语言源码-GOFLY ( 开源代码+安装教程)
- 【说站】校园跑腿综合服务网平台小程序源码+部署搭建教程
- 【说站】流量主系列|微信AI人脸转换小程序源码
- Spring IOC 容器源码分析
- 码云gitee使用教程 以及在vs(vistual studo)中使用gitee作源码控制
- 好用的在线客服系统PHP源码(开源代码+终身使用+安装教程)
- B2C电商系统源码 在线商城源码[通俗易懂]
- 跨境电商ERP店群管理系统源码支持二开,企业数据私有化部署
- 宝塔分销源码_云进销存ERP开发教程
- 跨境电商erp源码java大卖先生_java web项目源码和教程
- 三网码支付系统源码三网免挂有PC软件有云端源码+搭建教程
- AI人像漫画脸小程序制作 附源码
- 分析React源码中的合成事件
- Elastic-Job2.1.5源码-作业高可用的失效转移功能实现原理动画
- 客服弹窗中使用layer库自定义展示的标题 - 网站/网页在线客服源码教程
- 量化合约开发功能JAVA编程源码教程
- iOS开发 面向切面编程之 Aspects 源码解析
- 新手建站之【源码上传】⑧
- SkeyeRTSPLive高效转码之SkeyeVideoDecoder采用Nvidia独立显卡高效硬件解码解决方案(附源码)(2)
- 堪称神级的阿里巴巴“高并发”教程《基础+实战+源码+面试+架构》
- HDFS源码分析(四)—–节点Decommission机制详解大数据
- Django Rest Framework源码剖析(一)—–认证详解编程语言
- 史上最简单的卸载源码安装的mysql教程(卸载源码安装的mysql)
- 学习Linux:安装Linux内核源码教程(安装linux内核源码)
- MySQL源码竟有多少行?(mysql源码多少行)
- PHP源码之ext/mysql扩展部分
- CentOS6.5源码安装Erlang教程