早於2019年之前clickhouse官方只有Ubuntu的安裝包,在2019年之後官方提供了rpm安裝包。
早前的clickhouse的rpm安裝包由支持的公司提供。
安裝前的準備:
1.關閉本機的防火牆:
關閉防火牆:
systemctl stop firewalld
systemctl disable firewalld
2.驗證服務器的CPU是否支持SSE 4.2 指令集 向量化執行需要這項特性。
# grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
SSE 4.2 supported
若不支持SSE指令集則不能直接使用預編譯的安裝包 需要通過源碼包編譯特定的版本進行安裝。
3.設置FQDN:
[root@hadoop101 ~]# hostnamectl --static set-hostname hadoop101
[root@hadoop101 ~]# hostname -f
hadoop101
[root@hadoop101 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.8.101 hadoop101 hadoop101
4.設置: 設置文件的句柄數 該配置文件也可通過config.xml 的max_open_files修改。
# cat /etc/security/limits.conf
# vim /etc/security/limits.conf
* soft nofile 262144
* hard nofile 262144
* soft nproc 131072
* hard nproc 131072
5.關閉selinux:
# cat /etc/selinux/config | grep -i "SELINUX="
# SELINUX= can take one of these three values:
SELINUX=disabled
相關的操作:
===============
臨時關閉SELinux
setenforce 0
臨時打開SELinux
setenforce 1
查看SELinux狀態
getenforce
防火牆:
臨時關閉防火牆
systemctl stop firewalld
永久防火牆開機自關閉
systemctl disable firewalld
臨時打開防火牆
systemctl start firewalld
防火牆開機啓動
systemctl enable firewalld
查看防火牆狀態
systemctl status firewalld
===============
repo倉庫準備:
1.使用clickhouse的官方repo倉庫:
sudo yum install yum-utils
sudo rpm --import https://repo.yandex.ru/clickhouse/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.yandex.ru/clickhouse/rpm/stable/x86_64
安裝:
sudo yum install clickhouse-server clickhouse-client
2.使用國內的清華大學的鏡像安裝:
# cat /etc/yum.repos.d/repo.clickhouse.tech_rpm_stable_x86_64.repo
[repo.clickhouse.tech_rpm_stable_x86_64]
#name=added from: https://repo.clickhouse.tech/rpm/stable/x86_64
#baseurl=https://repo.clickhouse.tech/rpm/stable/x86_64
#enabled=1
name=clickhouse stable
baseurl=https://mirrors.tuna.tsinghua.edu.cn/clickhouse/rpm/stable/x86_64
enabled=1
沒有鏡像網站通常下載緩慢。
可以自行下載之後再安裝:
# yum -y localinstall clickhouse-*.rpm
也可以遠程安裝:
yum search clickhouse --show-duplicates
# 如下命令會默認安裝最新版本的clickhouse:
yum -y install clickhouse-*.rpm
Dependencies Resolved
=======================================================================================================
Package Arch Version Repository Size
=======================================================================================================
Installing:
clickhouse-client noarch 19.17.4.11-2 /clickhouse-client-19.17.4.11-2.noarch 112 k
clickhouse-common-static x86_64 19.17.4.11-2 /clickhouse-common-static-19.17.4.11-2.x86_64 303 M
clickhouse-server noarch 19.17.4.11-2 /clickhouse-server-19.17.4.11-2.noarch 150 k
clickhouse-test noarch 19.17.4.11-2 /clickhouse-test-19.17.4.11-2.noarch 5.5 M
Installing for dependencies:
perl-Data-Dumper x86_64 2.145-3.el7 base 47 k
perl-JSON-XS x86_64 1:3.01-2.el7 epel 103 k
perl-Types-Serialiser noarch 1.0-1.el7 epel 17 k
perl-common-sense noarch 3.6-4.el7 epel 28 k
Transaction Summary
=======================================================================================================
Install 4 Packages (+4 Dependent packages)
-- 單機版本的直接可以就可以登錄了:
# systemctl start clickhouse-server
# clickhouse-client
ClickHouse client version 19.17.4.11 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 19.17.4 revision 54428.
hadoop103 :) show databases;
SHOW DATABASES
┌─name────┐
│ default │
│ system │
└─────────┘
2 rows in set. Elapsed: 0.001 sec.
--退出:
hadoop103 :) exit
Bye.
啓動也可以通過配置文件進行啓動:
clickhouse-server --config-file=/etc/clickhouse-server/config.xml
或者:
nohup clickhouse-server --config-file=/etc/clickhouse-server/config.xml >null 2>&1 &
默認安裝的主要目錄部分:
配置目錄:
配置clickhouse:
# ls -l /etc/clickhouse-server/
total 32
drwxr-xr-x. 2 root root 6 Apr 18 15:18 config.d
-rw-r--r--. 1 root root 22603 May 8 12:03 config.xml
lrwxrwxrwx. 1 root root 41 Apr 18 15:18 preprocessed -> /var/lib/clickhouse//preprocessed_configs
drwxr-xr-x. 2 root root 6 Apr 18 15:18 users.d
-rw-r--r--. 1 root root 5728 May 8 12:00 users.xml
主要的配置文件:
config.xml 端口配置、本地機器名配置、內存設置等
metrika.xml 集羣配置、ZK配置、分片配置等
users.xml 權限、配額設置
數據目錄:
# ls -l /var/lib/clickhouse/
total 4
drwxr-x---. 2 clickhouse clickhouse 6 Apr 18 15:28 cores
drwxr-x---. 7 clickhouse clickhouse 78 May 8 09:26 data
drwxr-x---. 2 clickhouse clickhouse 6 Apr 18 15:28 dictionaries_lib
drwxr-x---. 2 clickhouse clickhouse 6 Apr 18 15:28 flags
drwxr-x---. 2 clickhouse clickhouse 6 Apr 18 15:28 format_schemas
drwxr-x---. 7 clickhouse clickhouse 133 May 8 09:26 metadata
drwxr-x---. 2 clickhouse clickhouse 41 Apr 18 15:28 preprocessed_configs
-rw-r-----. 1 clickhouse clickhouse 58 Jun 8 23:54 status
drwxr-x---. 2 clickhouse clickhouse 6 Apr 18 15:28 tmp
drwxr-x---. 2 clickhouse clickhouse 6 Apr 18 15:28 user_files
日誌目錄:
# ls -l /var/log/clickhouse-server/
total 7892
-rw-r-----. 1 clickhouse clickhouse 274247 Jun 8 23:54 clickhouse-server.err.log
-rw-r-----. 1 clickhouse clickhouse 6669753 Jun 9 00:10 clickhouse-server.log
-rw-r-----. 1 clickhouse clickhouse 568 May 8 12:04 stderr.log
-rw-r-----. 1 clickhouse clickhouse 0 May 8 12:04 stdout.log
[root@hadoop101 ~]#
定時啓動clickhouse的文件:
[root@hadoop101 ~]# cat /etc/cron.d/clickhouse-server
#*/10 * * * * root (which service > /dev/null 2>&1 && (service clickhouse-server condstart ||:)) || /etc/init.d/clickhouse-server condstart > /dev/null 2>&1
在默認的情況下 每隔10秒就會使用condstart嘗試啓動一次clickhouse服務,啓動邏輯如下:
若正則運行則跳過;若沒有運行則通過start啓動。
執行文件:
# ls -l /usr/bin/clickhouse*
-rwxr-xr-x. 1 root root 284220760 Apr 17 04:50 /usr/bin/clickhouse
lrwxrwxrwx. 1 root root 10 Apr 18 15:18 /usr/bin/clickhouse-benchmark -> clickhouse
lrwxrwxrwx. 1 root root 10 Apr 18 15:18 /usr/bin/clickhouse-client -> clickhouse
lrwxrwxrwx. 1 root root 10 Apr 18 15:18 /usr/bin/clickhouse-compressor -> clickhouse
lrwxrwxrwx. 1 root root 10 Apr 18 15:18 /usr/bin/clickhouse-copier -> clickhouse
lrwxrwxrwx. 1 root root 10 Apr 18 15:18 /usr/bin/clickhouse-extract-from-config -> clickhouse
lrwxrwxrwx. 1 root root 10 Apr 18 15:18 /usr/bin/clickhouse-format -> clickhouse
lrwxrwxrwx. 1 root root 10 Apr 18 15:18 /usr/bin/clickhouse-local -> clickhouse
lrwxrwxrwx. 1 root root 10 Apr 18 15:18 /usr/bin/clickhouse-obfuscator -> clickhouse
-rwxr-xr-x. 1 root root 113281504 Apr 17 04:50 /usr/bin/clickhouse-odbc-bridge
-rwxr-xr-x. 1 root root 2014 Apr 17 04:33 /usr/bin/clickhouse-report
lrwxrwxrwx. 1 root root 10 Apr 18 15:18 /usr/bin/clickhouse-server -> clickhouse
可以看到主要的執行命令軟連接到clickhouse
共有三個命令:
clickhouse
clickhouse-odbc-bridge
clickhouse-report
常用的clickhouse-client ,clickhouse-server clickhouse-compressor 都連接到clickhouse命令了。
clickhouse的升級:
# rpm -qa | grep -i clickhouse
clickhouse-client-20.3.7.46-2.noarch
clickhouse-server-20.3.7.46-2.noarch
clickhouse-common-static-20.3.7.46-2.x86_64
升級前的版本:
[root@hadoop101 ~]# clickhouse-client
ClickHouse client version 20.3.7.46 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 20.3.7 revision 54433.
hadoop101 :)
hadoop101 :) select version();
SELECT version()
┌─version()─┐
│ 20.3.7.46 │
└───────────┘
1 rows in set. Elapsed: 0.003 sec.
# yum search clickhouse --show-duplicates | grep 20.3
查詢是否有同一版本可供升級。
# yum -y update clickhouse-client-20.3.8 clickhouse-common-static-20.3.8 clickhouse-server-20.3.8.53 clickhouse-test-20.3.8.53-2
[root@hadoop101 ~]# clickhouse-client
ClickHouse client version 20.4.4.18 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 20.3.7 revision 54433.
hadoop101 :)
重啓服務:
[root@hadoop101 ~]# systemctl restart clickhouse-server
[root@hadoop101 ~]# clickhouse-client
ClickHouse client version 20.4.4.18 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 20.4.4 revision 54434.
hadoop101 :) select version();
SELECT version()
┌─version()─┐
│ 20.4.4.18 │
└───────────┘
1 rows in set. Elapsed: 0.002 sec.