clickhouse官网提供了各种安装方式
官网链接:https://clickhouse.tech/
但是我是在内网安装,所以需要先下载安装包
下载最稳定版本:https://packagecloud.io/app/Altinity/clickhouse/search?
下载完上传到服务器
因为我的目录下只有这四个文件,所以我直接用以下命令安装(注意:如果一个一个安装是有顺序的(顺序可以网上查下),用这个命令,如果有其他rpm文件也会被一并安装)
rpm -ivh *
使用service clickhouse-server start 启动服务
看到DONE就是成功了,可以用service clickhouse-server status 查看状态
现在已经可以用clickhoues-client进入数据库了,看到小小笑脸就是进入到数据库了
但是到这里并没有完,由于各个磁盘剩余空间不一样的问题,我需要将日志和数据存储的位置放到 根目录的 /data 下。
一开始的操作是直接改/etc/clickhouse-server/config.xml
改完之后服务就无法启动,总是报UNKOWN
试了五六次终于放弃了
看了几篇博客之后,最终采用的方法是软链接,以下是clickhouse各种东东默认存放的位置,我要移动的是第二部分
# 默认配置文件位置
[email protected]:/ # ls /etc/clickhouse-server
config.xml users.xml
# 上述文件定义了默认数据目录,临时目录位置,日志目录
/var/lib/clickhouse
/var/lib/clickhouse/tmp/
/var/log/clickhouse-server
# 默认启动脚本,注意,这个名字虽然叫server,其实是个shell脚本
/etc/rc.d/init.d/clickhouse-server
[email protected]:/ # file /etc/rc.d/init.d/clickhouse-server
/etc/rc.d/init.d/clickhouse-server: POSIX shell script, ASCII text executable, with very long lines
# 最大文件打开数
[email protected]:/ # cat /etc/security/limits.d/clickhouse.conf
clickhouse soft nofile 262144
clickhouse hard nofile 262144
# 默认crontab目录(没啥用)
/etc/cron.d/clickhouse-server
# 剩下就是/usr/bin下的二进制文件,但其实都是软链接到了clickhouse这个二进制文件
[email protected]:/usr/bin # ll | grep click -i
-rwxr-xr-x 1 root root 63M Sep 20 16:58 clickhouse
lrwxrwxrwx 1 root root 10 Dec 11 17:14 clickhouse-client -> clickhouse
-rwxr-xr-x 1 root root 3.3M Sep 20 16:58 clickhouse-compressor
lrwxrwxrwx 1 root root 10 Dec 11 17:14 clickhouse-server -> clickhouse
移动数据存储位置:mv /var/lib/clickhouse /data/
/var/lib 下加软链接:ln -s /data/clickhouse
别忘了给软链接更改所属用户和所属组(跟原来的文件保持一致):chown -R clickhouse:clickhouse clickhouse
移动日志存储位置:mv /var/log/clickhouse-server /data/clickhouse/
/var/log 下加软链接:ln -s /data/clickhouse/clickhouse-server
更改所属用户和所属组(跟原来的文件保持一致):chown -R root:clickhouse clickhoues-server
重启服务看看:service clickhouse-server restart
咦,没报错吗?竟然成功了
/data/clickhouse下是这样的
/var/lib 下是这样的
/var/log 下是这样的
增加个用户玩玩? 不了
在配置文件 /etc/clickhouse-server/users.xml 下增加用户,密码问题配置文件中也有很详细的说明
<用户名>
<--! 密码的三种方式:-->
明文密码
<--!
这里放(PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-' )生成的第二行,第一行用于登录
这里放(PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | openssl dgst -sha1 -b )生成的第二行,第一行用于登录
-->
::/0
default
default
用户名>
zookeep的配置和集群部署文件的配置,等过几天做了再来说