1. 環(huán)境檢測
# grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
# 如果打印出"SSE 4.2 supported"說明服務器支持SSE指令集舟奠,則可以使用RPM包或者yum安裝
# 否則需要通過源碼編譯特定的版本進行安裝
2. 方式一:使用RPM包離線安裝
裝備4個RPM包:
clickhouse-client-19.17.10.1-1.el7.x86_64.rpm
clickhouse-common-static-19.17.10.1-1.el7.x86_64.rpm
clickhouse-server-19.17.10.1-1.el7.x86_64.rpm
clickhouse-server-common-19.17.10.1-1.el7.x86_64.rpm
下載地址:https://packagecloud.io/altinity/clickhouse
依次執(zhí)行:
rpm -ivh clickhouse-common-static-19.17.10.1-1.el7.x86_64.rpm
rpm -ivh clickhouse-common-static-19.17.10.1-1.el7.x86_64.rpm
rpm -ivh clickhouse-server-19.17.10.1-1.el7.x86_64.rpm
rpm -ivh clickhouse-client-19.17.10.1-1.el7.x86_64.rpm
如果有報錯:
libicudata.so.50()(64bit) is needed by clickhouse-server-19.17.10.1-1.el7.x86_64
libicui18n.so.50()(64bit) is needed by clickhouse-server-19.17.10.1-1.el7.x86_64
libicuuc.so.50()(64bit) is needed by clickhouse-server-19.17.10.1-1.el7.x86_64
安裝libicu即可解決:
yum install libicu.x86_64 -y
3. 方式二:yum在線安裝
sudo yum install yum-utils
sudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/stable/x86_64
sudo yum install clickhouse-server clickhouse-client
4. 配置文件
核心目錄:
/etc/clickhouse-server:服務端的配置文件目錄,包括全局配置config.xml和用戶配置users.xml等房维。
/var/lib/clickhouse:默認的數(shù)據(jù)存儲目錄
/var/log/clickhouse-server:默認保存日志的目錄
核心配置文件:
- /etc/security/limits.d/clickhouse.conf:文件句柄數(shù)量的配置沼瘫,配置也可以通過config.xml的max_open_files修改
- /etc/cron.d/clickhouse-server:cron定時任務配置,用于恢復因異常原因中斷的ClickHouse服務進程咙俩,每10s就會使用condstart嘗試啟動一次ClickHouse服務耿戚,如果服務正常運行,就跳過
可執(zhí)行文件:
- /usr/bin/clickhouse:主程序的可執(zhí)行文件
- /usr/bin/clickhouse-client:一個指向ClickHouse可執(zhí)行文件的軟鏈接阿趁,供客戶端連接使用
- /usr/bin/clickhouse-server:一個指向ClickHouse可執(zhí)行文件的軟鏈接膜蛔,供服務端啟動使用
- /usr/bin/clickhouse-compressor:內(nèi)置提供的壓縮工具,可用于數(shù)據(jù)的正壓反解
如何修改默認的數(shù)據(jù)文件目錄和默認日志目錄脖阵?
# /etc/clickhouse-server/config.xml
<!-- Path to data directory, with trailing slash. -->
<path>/var/lib/clickhouse/</path>
<!-- Path to temporary data for processing hard queries. -->
<tmp_path>/var/lib/clickhouse/tmp/</tmp_path>
<!-- Directory with user provided files that are accessible by 'file' table function. -->
<user_files_path>/var/lib/clickhouse/user_files/</user_files_path>
<logger>
<level>trace</level>
<log>/var/log/clickhouse-server/clickhouse-server.log</log>
<errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog>
<size>1000M</size>
<count>10</count>
</logger>
5. 服務啟停
- 基于默認配置啟動皂股,默認讀取/etc/clickhouse-server/config.xml配置文件
sudo systemctl start clickhouse-server
sudo systemctl stop clickhouse-server
- 基于指定配置文件啟動,需要手動切換到clickhouse用戶啟動
# 切換到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
6. 客戶端連接
# clickhouse-client
ClickHouse client version 19.17.10.1.
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 19.17.10 revision 54428.
:) show databases;
SHOW DATABASES
┌─name────┐
│ DB_TEST │
│ default │
│ system │
└─────────┘
7. clickhouse-client 常用選項
選項全稱 | 選項簡寫 | 作用 |
---|---|---|
--help | 打印幫助信息 | |
--host | -h | 服務端的地址呜呐,默認值為localhost 如果修改了config.xml內(nèi)的listen_host,則需要依靠此參數(shù)指定服務端地址 |
--port | 服務端的TCP端口悍募,默認值為9000 如果要修改config.xml內(nèi)的tcp_port蘑辑,則需要使用此參數(shù)指定 |
|
--user | -u | 登錄的用戶名,默認值為default 如果使用非default的其他用戶名登錄坠宴,則需要使用此參數(shù)指定 |
--password | 登錄的密碼洋魂,默認值為空 如果在用戶定義中未設置密碼,則不需要填寫(例如默認的default用戶) |
|
--database | -d | 登錄的數(shù)據(jù)庫喜鼓,默認值為default |
--query | -q | 只能在非交互式查詢時使用副砍,用于指定SQL語句 |
--multiquery | -n | 在非交互式執(zhí)行時,允許一次運行多條SQL語句庄岖,多條語句之間以分號間隔 |
--time | -t | 在非交互式執(zhí)行時豁翎,會打印每條SQL的執(zhí)行時間 |
--multiline | -m | 設置這個選項后,在進入交互式查詢界面后顿锰,可以允許一條SQL換行寫入 否則換行的SQL是不能被正確解析的 |