clickhouse安装部署

最近有一个业务需要使用clickhouse,所以研究了一下clickhouse,也踩了一些坑,在此记录一下。

写在前面

clickhouse中文文档比较齐全,入门之前建议先看下官方文档,可以减少踩坑和降低学习成本,如果官方文档上找不到的再去搜索别的文章看看有没有什么具体案例。

clickhouse中文文档地址:
https://clickhouse.com/docs/zh/getting-started/tutorial/

本地安装部署

我的电脑是mac m1的,采用的是下载源码自己构建的方式在本地运行clickhouse的

mac m1安装部署我是参考的如下这篇文章进行安装部署的,实测可用:
https://www.cnblogs.com/Hearter/articles/15450696.html

这篇文章有如下几个点要注意一下,首先是第4步拉取源码,这一步我一开始没复制他的代码,我直接使用的git clone拉的,没有加--recursive参数,下载源码的时候切记要按照文章里的命令去下代码,不然编译的时候会报错。


image.png

然后第5步原文作者提供了3种方式构建clickhouse,我按照作者的推荐直接用了第二种方式,即使用homebrew的clang编译器进行构建,这种方式构建我自己试了,没啥问题,其他2种我没试过。

最后附上官方关于mac os构建clickhouse的链接:
https://clickhouse.com/docs/zh/development/build-osx/

centos安装部署

采用tgz的方式安装

本地运行完clickhouse,然后需求在开发环境再部署一套clickhouse来使用,开发环境的机器是centos 7.

官网上安装部署有比较详细的说明,具体文档地址如下,支持deb、rpm、tgz、docker等安装部署方式
https://clickhouse.com/docs/zh/getting-started/install/

由于我司开发环境有网络环境隔离,下载rpm包的方式走不通,同样因为网络隔离的原因,官方的tgz包无法通过curl下载,我选择的是手动下载tgz包,然后通过别的方式将下载的tgz包上传到服务器。

tgz包下载地址:
https://packages.clickhouse.com/tgz/
https://github.com/ClickHouse/ClickHouse/releases

下载完之后就可以按照官方文档的指导进行解压安装了。
如果网络没问题,可以直接按照官方文档上的说明使用curl进行下载安装。

我下载的版本是22.1.3.7,以此版本为例,tgz包上传到同一个目录下,执行以下操作

tar -xzvf "clickhouse-common-static-22.1.3.7.tgz"
sudo "clickhouse-common-static-22.1.3.7、install/doinst.sh"

tar -xzvf "clickhouse-common-static-dbg-22.1.3.7.tgz"
sudo "clickhouse-common-static-dbg-22.1.3.7/install/doinst.sh"

tar -xzvf "clickhouse-server-22.1.3.7.tgz"
sudo "clickhouse-server-22.1.3.7/install/doinst.sh"

tar -xzvf "clickhouse-client-22.1.3.7.tgz"
sudo "clickhouse-client-22.1.3.7/install/doinst.sh"

这样就完成了使用tgz包安装clickhouse

启动server

关于tgz安装的时候这条命令

sudo /etc/init.d/clickhouse-server start

如果你安装完之后,使用root用户启动,会发现启动不了,具体的启动日志如下:

2022.03.29 17:39:13.912767 [ 6012 ] {} <Information> Application: Will watch for the process with pid 6013
2022.03.29 17:39:13.912900 [ 6013 ] {} <Information> Application: Forked a child process to watch
2022.03.29 17:39:13.913400 [ 6013 ] {} <Information> SentryWriter: Sending crash reports is disabled
2022.03.29 17:39:13.913547 [ 6013 ] {} <Trace> Pipe: Pipe capacity is 1.00 MiB
2022.03.29 17:39:14.193544 [ 6014 ] {} <Trace> BaseDaemon: Received signal -2
2022.03.29 17:39:14.193603 [ 6014 ] {} <Information> BaseDaemon: Stop SignalListener thread
2022.03.29 17:39:14.206283 [ 6012 ] {} <Information> Application: Child process exited normally with code 233.
2022.03.29 17:39:44.409085 [ 6067 ] {} <Information> Application: Will watch for the process with pid 6068
2022.03.29 17:39:44.409167 [ 6068 ] {} <Information> Application: Forked a child process to watch
2022.03.29 17:39:44.409619 [ 6068 ] {} <Information> SentryWriter: Sending crash reports is disabled
2022.03.29 17:39:44.409768 [ 6068 ] {} <Trace> Pipe: Pipe capacity is 1.00 MiB
2022.03.29 17:39:44.664700 [ 6069 ] {} <Trace> BaseDaemon: Received signal -2
2022.03.29 17:39:44.664762 [ 6069 ] {} <Information> BaseDaemon: Stop SignalListener thread
2022.03.29 17:39:44.677423 [ 6067 ] {} <Information> Application: Child process exited normally with code 233

然后检查clickhouse相关的用户目录,会发现用户和组都是clickhouse


image.png

image.png
image.png

发现/var/lib/clickhouse目录下的文件权限为root,如果以普通用户起的话,可以将/var/lib/clickhouse下的文件全部更改为clickhouse

chown -R clickhouse:clickhouse /var/lib/clickhouse/
image.png

如果因为用户权限问题导致启动不了,可以检查下启动时的用户以及clickhouse相关的文件夹的用户和组

/var/lib/clickhouse/
/var/log/clickhouse-server/
/etc/clickhouse-server
#和server无关,和客户端有关
/etc/clickhouser-client

然后用clickhouse用户来启动clickhouse server

sudo -u clickhouse clickhouse-server --config-file=/etc/clickhouse-server/config.xml

上面说的是以普通用户的方式启动,更粗暴一点的方式是将和clickhouse相关的全部设置成root

chown -R root:root /var/lib/clickhouse /var/log/clickhouse-server /etc/clickhouse-server /etc/clickhouse-client

然后用root用户,使用以下命令启动

nohup clickhouse-server --config-file=/etc/clickhouse-server/config.xml &

密码

clickhouse安装的时候会让你输入默认密码,默认密码在/etc/clickhouse-server/users.d/default-password.xml 里,如果忘记了或者想换一个密码,可以删掉default-password.xml,在/etc/clickhouse-server/users.xml中设置新的密码


image.png

clickhouse用户的密码在users.xml,比如你想将default用户的密码设置成123456,可以找到default用户的配置,修改password的配置为123456

<password>123456</password>

如果需要将密码加密,clickhouse也支持sha256的方式,修改password_sha256_hex的配置

<password_sha256_hex>8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92</password_sha256_hex>

还支持其他的几种校验方式,具体可以见users.xml中的注释文件

修改完密码之后,重启clickhouse server进程,密码就生效了

clickhouse版本升级

我是使用tgz包的方式安装的,我自己使用的方式是下载对应版本的包,重新执行下安装命令,然后再启动的时候就是你想要升级的版本了,rpm的包升级我没试,需要自行寻找

比如要从22.1.3.7升级到22.3.2.2,先下载对应的包,然后再走一遍流程

tar -xzvf "clickhouse-common-static-22.3.2.2.tgz"
sudo "clickhouse-common-static-22.3.2.2/install/doinst.sh"

tar -xzvf "clickhouse-common-static-dbg-22.3.2.2.tgz"
sudo "clickhouse-common-static-dbg-22.3.2.2/install/doinst.sh"

tar -xzvf "clickhouse-server-22.3.2.2.tgz"
sudo "clickhouse-server-22.3.2.2/install/doinst.sh"

tar -xzvf "clickhouse-client-22.3.2.2.tgz"
sudo "clickhouse-client-22.3.2.2/install/doinst.sh"

需要再重新解决一下用户权限问题,可以参考上边的clickhouse用户或者root用户启动,启动之后clickhouse server版本就变成了22.3.2.2了

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容