clickhouse官網提供了各種安裝方式
但是我是在內網安裝,所以需要先下載安裝包
下載最穩定版本: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 下增加用戶,密碼問題配置文件中也有很詳細的說明
<users>
<用戶名>
<--! 密碼的三種方式:-->
<password>明文密碼</password>
<--!
<password_sha256_hex>這裏放(PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-' )生成的第二行,第一行用於登錄</password_sha256_hex>
<password_double_sha1_hex>這裏放(PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | openssl dgst -sha1 -b )生成的第二行,第一行用於登錄</password_double_sha1_hex>
-->
<networks incl="networks" replace="replace">
<ip>::/0</ip>
</networks>
<profile>default</profile>
<quota>default</quota>
</用戶名>
</users>
zookeep的配置和集羣部署文件的配置,等過幾天做了再來說