注:本文章的ubuntu的版本为:ubuntu-20.04.6-live-server-amd64。
Ubuntu(在线版)
更新软件源
sudo apt-get update
安装apt-transport-https
允许apt工具通过https协议下载软件包。
sudo apt-get install apt-transport-https
安装ca-certificates
ca-certificates包含了用于验证SSL/TLS证书的根证书,确保在通过https下载软件包时能够验证服务器的身份,保证下载的安全性。
sudo apt-get install ca-certificates
安装gnupg
gnupg是一个开源的加密工具,广泛用于生成、管理和验证加密密钥。对于ClickHouse的安装过程,gnupg用于处理和验证软件源的GPG密钥。
sudo apt-get install gnupg
下载ClickHouse的GPG密钥文件
curl -fsSL 'https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key' | sudo gpg --dearmor -o /usr/share/keyrings/clickhouse-keyring.gpg
将地址添加到系统的软件包源列表中
echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg arch=amd64] https://packages.clickhouse.com/deb stable main" | sudo tee /etc/apt/sources.list.d/clickhouse.list
更新软件源
sudo apt-get update
安装ClickHouse服务器
注:本文章安装的ClickHouse版本为25.3.2.39。
安装过程需要设置密码,账号为default。
sudo apt-get install clickhouse-server=25.3.2.39
安装ClickHouse客户端
sudo apt-get install clickhouse-client=25.3.2.39
启动服务
systemctl start clickhouse-server
查看ClickHouse状态
systemctl status clickhouse-server
看到activate即启动成功。
使用ClickHouse客户端
需要输入密码
clickhouse-client
测试ClickHouse
show databases;
无报错则输出数据库名。
Ubuntu(离线版)
进入下载链接选择ClickHouse版本下载:
https://packages.clickhouse.com/tgz/lts/
需下载四个文件:clickhouse-common-static,clickhouse-common-static-dbg,clickhouse-server clickhouse-client
注:本文章下载clickhouse-common-static-25.3.2.39-amd64.tgz,clickhouse-common-static-dbg-25.3.2.39-amd64.tgz,clickhouse-server-25.3.2.39-amd64.tgz,clickhouse-client-25.3.2.39-amd64.tgz。
解压文件到指定目录
tar -xvf clickhouse-common-static-25.3.2.39-amd64.tgz -C /usr/local
tar -xvf clickhouse-common-static-dbg-25.3.2.39-amd64.tgz -C /usr/local
tar -xvf clickhouse-server-25.3.2.39-amd64.tgz -C /usr/local
tar -xvf clickhouse-client-25.3.2.39-amd64.tgz -C /usr/local
安装clickhouse-common-static
cd /usr/local/clickhouse-common-static-25.3.2.39
install/doinst.sh
安装clickhouse-common-static-dbg
cd /usr/local/clickhouse-common-static-dbg-25.3.2.39
install/doinst.sh
安装clickhouse-server
cd /usr/local/clickhouse-server-25.3.2.39
install/doinst.sh
安装clickhouse-client
cd /usr/local/clickhouse-client-25.3.2.39
install/doinst.sh
配置默认账号default的密码
sudo vim /etc/clickhouse-server/users.xml
找到<clickhouse>标签下的<users>,<users>标签下的<default>,<default>标签下的<password>,配置密码即可。
观察生成的系统服务文件
sudo vim /lib/systemd/system/clickhouse-server.service
系统文件如下所示:
[Unit]
Description=ClickHouse Server (analytic DBMS for big data)
Requires=network-online.target
# NOTE: that After/Wants=time-sync.target is not enough, you need to ensure
# that the time was adjusted already, if you use systemd-timesyncd you are
# safe, but if you use ntp or some other daemon, you should configure it
# additionaly.
After=time-sync.target network-online.target
Wants=time-sync.target[Service]
Type=notify# NOTE: we leave clickhouse watchdog process enabled to be able to see OOM/SIGKILL traces in clickhouse-server.log files.
# If you wish to disable the watchdog and rely on systemd logs just add "Environment=CLICKHOUSE_WATCHDOG_ENABLE=0" line.
User=clickhouse
Group=clickhouse
Restart=always
RestartSec=30
# The following ClickHouse directives should be used instead of forcing SIGKILL by systemd:
# - shutdown_wait_unfinished_queries
# - shutdown_wait_unfinished
TimeoutStopSec=infinity
# Disable forwarding signals by watchdog, since with default systemd's
# kill-mode control-group, systemd will send signal to all process in cgroup.
Environment=CLICKHOUSE_WATCHDOG_NO_FORWARD=1
# Since ClickHouse is systemd aware default 1m30sec may not be enough
TimeoutStartSec=0
# %p is resolved to the systemd unit name
RuntimeDirectory=%p
ExecStart=/usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml --pid-file=%t/%p/%p.pid
# Minus means that this file is optional.
EnvironmentFile=-/etc/default/%p
# Bring back /etc/default/clickhouse for backward compatibility
EnvironmentFile=-/etc/default/clickhouse
LimitCORE=infinity
LimitNOFILE=500000
CapabilityBoundingSet=CAP_NET_ADMIN CAP_IPC_LOCK CAP_SYS_NICE CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_IPC_LOCK CAP_SYS_NICE CAP_NET_BIND_SERVICE[Install]
# ClickHouse should not start from the rescue shell (rescue.target).
WantedBy=multi-user.target
从系统文件内容可以看出,这种方式安装的clickhouse默认的用户及用户组是clickhouse:
[Service]
User=clickhouse
Group=clickhouse
如果系统没有clickhouse用户及用户组,将上述代码内容注释即可。
注释后重新加载系统服务
sudo systemctl daemon-reload
启动服务
systemctl start clickhouse-server
查看ClickHouse状态
systemctl status clickhouse-server
看到activate即启动成功,后续可再使用ClickHouse客户端进行下一步的测试。
设置远程连接
修改配置文件
sudo vim /etc/clickhouse-server/config.xml
在配置文件中找到以下部分,放开注释即可
<listen_host>0.0.0.0</listen_host>