ClickHouse安裝過程:
ClickHouse支持運行在主流64位CPU架構(X86、AArch和PowerPC)的Linux操作 系統之上,可以通過源碼編譯、預編譯壓縮包、Docker鏡像和RPM等多種方法進行安裝。由于篇幅有限,本節著重講解離線RPM的安裝方法。更多的安裝方法請參閱官方于冊,此處不再贅述。
1、環境準備
在這個示例中,演示服務器的操作系統為CentOS 7.7,而ClickHouse 選用19.17.4.11版本。在正式安裝之前,我們還需要做一些準備工作。
1.1 下載RPM安裝包
用于安裝的RPM包可以從下面兩個倉庫中任選一個進行下載:https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/
https://packagecloud.io/altinity/clickhouse
需要下載以下4個安裝包文件:
clickhouse-client-19.17.4.11-1.c1.x86_64.rpm
clickhouse-comman-static-19.17.4.11-1.c1.x86_64.rpm
clickhouse-server-19.17.4.11-1.c1.x86_64.rpm
clickhouse-server-common-19.17.4.11-1.e17.x86_64.rpm
1.2 關閉防火墻井檢查環境依賴
首先,考慮到后續的集群部署,通常建議關閉本機的防火墻,在Centos 7下關閉防墻的方法如下:
–關閉防火墻
systemccl stop firewnlld.service
–禁用開機啟必項
systenct1 disable firewalld.oervice
接著,需要驗證當前服務器的CPU是否支持SSE4.2指令集,因為向量化執行需要用到這項特性:
# grcp -q sse4_ 2 /proc/cpuinfo s& echo "SSE 4.2 supported" || echo " SSE 4.2 not supported"
如果不支持SSE指令集,則不能直接使用先前下載的預編澤安裝包,需要通過源碼編譯特定的版本進行安裝。
1.3 設置 FQDN
現在需要為服務器設置FQDN:
#hostnamectl--static set-hostname ch5.nauu.com
驗證修改是否生效:
# hostname -f ch5.nauu.com
最后需要配置hosts文件,配置后的效果如下:
cat /etc/hosts
......
10.37.129.10 ch5.nauu.com ch5
2、安裝clickhouse
2.1.安裝執行
假設已經將待安裝的RPM文件上傳到了服務器的/chbase/setup路徑下,此時進入該目錄:#cd/chbase/setup
執行如下命令后即可安裝RPM文件:
# rpm -ivh ./*.rpm
因為是離線安裝,在安裝的過程中可能會出現缺少依賴包的情況,
error: Failed dependencies:Libioudaca.so.42()(64bit) Is needcd by ···..
此時需要將這些缺失的依賴補齊
2.2 目錄結構
程序在安裝的過程中會自動構建整套目錄結構,接下來分別說明它們的作用。首先是核心目錄部分:
要通過源碼編
(1)/etc/clickhouse-server:服務端的配置文件目錄,包括全局配置config.xml和用戶 配置users.xml等。
(2)/var/lib/clickhouse:默認的數據存儲目錄(通常會修改默認路徑配置,將數據保存到大容量磁盤掛載的路徑)。
(3)/var/log/clickhouse—server:默認保存日志的目錄(通常會修改路徑配置,將日志保存到大容量磁盤掛載的路徑)。
接著是配置文件部分:
(1)/etc/security/limits.d/clickhouse.conf:文件句柄數量的配置,默認值如下所示。
# cat /etc/secu=ity/limits.d/clickhouse.confclickhouse soft nofile 262144clickhouse hard nofile 262144
該配置也可以通過config.xml的max_open_files修改。
(2)/etc/cron.d/clickhouse-server:cron定時任務配置,用于恢復因異常原因中斷的 ClickHouse服務進程,其默認的配置如下。
# cat/etc/cron.d/clickhouse-server#*/10****root (which service>/dev/null 2>&1 && (service clickhouse-servercondstart ll:)) ll/etc/init.d/clickhouse-server condstart> /dev/null 2>&1
可以看到,在默認的情況下,每隔10秒就會使用condstart嘗試啟動一次 ClickHouse服務,而condstart命令的啟動邏輯如下所示。
is_running |l service_or_func start
如果ClickHouse 服務正在運行,則跳過;如果沒有運行,則通過 start 啟動。
最后是一組在/usr/bin路徑下的可執行文件:
- clickhouse:主程序的可執行文件。
- clickhouse-client:一個指向clickHouse可執行文件的軟鏈接,供客戶端連接使用
- clickhouse-server:一個指向clickHouse可執行文件的軟鏈接,供服務端啟動使用
- clickhouse-compressor:內置提供的壓縮工具,可用于數據的正壓反解。
2.3.啟動服務
在啟動服務之前,建議修改默認的數據保存目錄,將它切換到大容量磁盤掛載的路徑。
打開config.xml配置文件,修改數據保存的地址:
<path>/chbase/data/</path>
<tmp_path>/chbase/data/tmp/</tmp_path>
<user_files_path>/chbase/data/user_files/</user_files_path>
正因為修改了默認的存儲路徑,所以需要將該目錄的Owner設置為clickhouse用戶:
# chown clickhouse.clickhouse /chbase/data/ -R
clickhouse 用戶由安裝程序自動創建,啟動腳本會基于此用戶啟動服務。
在上述準備工作全部完成之后,就可以啟動ClickHouse了。有兩種啟動方式:
首先是基于默認配置啟動,其啟動命令如下。
# service clickhouse-server start
Start clickhouse-server service: Path to data directory in /etc/clickhouse-
server/config.xml: /chbase/data/
DONE
在這種啟動方式下,會默認讀取/etc/clickhouse-server/config.xml 配置文件。
其次是基于指定配置啟動,在這種方式下需要手動切換到clickhouse用戶啟動。
# su clickhouse
This account is currently not available.
如果切換用戶出現了上述的異常情況,這是由于clickhouse用戶當前還未激活導致,
可用如下命令將其激活:
# usermod -s /bin/bash clickhouse
再次切換到clickhouse用戶并基于指定配置啟動:
# clickhouse-server --config-file=/etc/clickhouse-server/config-ch5.xml
在啟動成功之后,就可以使用客戶端測試連接了:
# clickhouse-client
ClickHouse client version 19.17.4.11.
Connecting to localhost:9000 as user default.
:) show databases;2 rows in set. Elapsed: 0.001 sec.
至此,單節點的安裝過程就全部完成了。如果需要安裝新的節點,重復上述安裝過程
即可。在新節點安裝完成之后,記得在/etc/hosts中添加每臺服務器節點的FQDN,例如:
的路徑。
# cat /etc/hosts
......
10.37.129.10 ch5.nauu.com ch5
--新節點
10.37.129.13 ch6.nauu.ccm ch6
2.4 版本升級
在使用離線RPM安裝包安裝后,可以直接通過rpm命令升級:
# cd/chbase/setup
# rpm -Uvh./*.rpm
Preparing... #####################[100%]
......
在升級的過程中,原有的config.xml等配置均會被保留。基于其他安裝方法的升級方
案,請參閱官方手冊。