clickhouse的目录结构及脚本配置及启动方式

前言

参考文档:朱凯的《ClickHouse原理解析与应用实践》

目录结构

以下所有目录及文件都是ClickHouse安装的时候自动生成的

核心目录

  • /etc/clickhouse-server:服务端的配置文件目录,包括全局配置config.xml和用户配置users.xml
  • /var/lib/clickhouse:默认的数据存储目录(通常会修改默认路径配置,将数据保存到大容量磁盘挂载的路径)
  • /var/log/clickhouse:默认保存日志的目录(最好也修改路径配置,将日志保存到大容量磁盘挂载的路径

配置文件

  • /etc/security/limits.d/clickhouse.conf-> 文件句柄数量的配置,默认值如下:

该配置项也可以通过config.xmlmax_open_files修改

clickhouse    soft    nofile    262144
clickhouse    hard    nofile    262144
  • /etc/cron.d/clickhouse-server–> cron定时任务配置,用于恢复因异常原因中断的ClickHouse服务进程, 默认值如下:
$ cat /etc/cron.d/clickhouse-server
#*/10 * * * * root (which service > /dev/null 2>&1 && (service clickhouse-server condstart ||:)) || /etc/init.d/clickhouse-server condstart > /dev/null 2>&1

可以看到,在默认的情况下,每隔10分钟就会使用condstart尝试启动一次ClickHouse服务

命令的具体意思为:
如果ClickHouse服务正在运行,则跳过,如果没有运行则通过start启动

可执行文件

  • clickhouse:主程序的可执行文件
  • clickhouse-client:一个指向clickhouse可执行文件的软链接,供客户端连接使用
  • clickhouse-server:一个指向clickhouse可执行文件的软链接,供服务端启动使用
  • clickhouse-compressor:内置提供的压缩工具,可用于数据的正反压缩

基本配置

最好修改默认的数据保存目录,将它切换到高性能,大容量的磁盘挂载路径。

sudo vim /etc/clickhouse-server/config.xml
# 修改以下配置为自己的目录
<!-- 数据存储目录 -->
<path>/warehouse/clickhouse/data</path>
<!-- 查询时的产生的临时数据存储目录 -->
<tmp_path>/warehouse/clickhouse/tmp</tmp_path>
<!-- 用户数据文件目录,用于ClickHouse文件表引擎 -->
<user_files_path>/warehouse/clickhouse/user_files</user_files_path>

clickhouse程序是由clickhouse用户启动的,所以/warehouse/clickhouse目录最好把用户改成clickhouse

sudo chown -R clickhouse:clickhouse /warehouse/clickhouse

子目录可以不用创建,clickhouse启动的时候会自动创建

启动方式

以上配置文件修改好以后就可以启动了,本人用的Ubuntu20,有3种启动方式

service启动

sudo service clickhouse-server start
sudo service clickhouse-server status
sudo service clickhouse-server stop
sudo service clickhouse-server restart

systemctl启动

sudo systemctl   start clickhouse-server
sudo systemctl  status clickhouse-server
sudo systemctl    stop clickhouse-server
sudo systemctl restart clickhouse-server
sudo systemctl  enable clickhouse-server

以上两种方式都是基于默认配置启动,
默认读取/etc/clickhouse-server/config.xml配置文件

手动前台指定配置文件启动

这种方式需要切换到clickhouse用户下启动
默认情况下clickhouse安装的时候clickhouse用户就已经创建了
不过虽然创建了但是并未激活
直接切换会报错:

su clickhouse

This account is currently not available

这种情况下有两种方式解决:

  1. 没有激活那就激活一下喽
usermod -s /bin/bash clickhouse

clickhouse-server --config-file=/etc/clickhouse-server/config-1234567.xml

然后切换clickhouse用户就可以了

  1. 使用sudo -u临时用下clickhouse用户(我一般用这种方式,不用激活也不用来回切换用户)
sudo -u clickhouse clickhouse-server --config-file=/etc/clickhouse-server/config-1234567.xml

通过手动指定配置文件的方式可以你可以在1台服务器上同时启动多个ClickHouse进程

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值