ClickHouse 单节点安装部署

1. 环境检测

# 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

依次执行:

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:默认的数据存储目录

  • /var/log/clickhouse-server:默认保存日志的目录

核心配置文件:

  • /etc/security/limits.d/clickhouse.conf:文件句柄数量的配置,配置也可以通过config.xml的max_open_files修改
  • /etc/cron.d/clickhouse-server:cron定时任务配置,用于恢复因异常原因中断的ClickHouse服务进程,每10s就会使用condstart尝试启动一次ClickHouse服务,如果服务正常运行,就跳过

可执行文件:

  • /usr/bin/clickhouse:主程序的可执行文件
  • /usr/bin/clickhouse-client:一个指向ClickHouse可执行文件的软链接,供客户端连接使用
  • /usr/bin/clickhouse-server:一个指向ClickHouse可执行文件的软链接,供服务端启动使用
  • /usr/bin/clickhouse-compressor:内置提供的压缩工具,可用于数据的正压反解

如何修改默认的数据文件目录和默认日志目录?

# /etc/clickhouse-server/config.xml

/var/lib/clickhouse/

/var/lib/clickhouse/tmp/

/var/lib/clickhouse/user_files/

   
    trace
    /var/log/clickhouse-server/clickhouse-server.log
    /var/log/clickhouse-server/clickhouse-server.err.log
    1000M
    10

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内的listen_host,则需要依靠此参数指定服务端地址
--port 服务端的TCP端口,默认值为9000
如果要修改config.xml内的tcp_port,则需要使用此参数指定
--user -u 登录的用户名,默认值为default
如果使用非default的其他用户名登录,则需要使用此参数指定
--password 登录的密码,默认值为空
如果在用户定义中未设置密码,则不需要填写(例如默认的default用户)
--database -d 登录的数据库,默认值为default
--query -q 只能在非交互式查询时使用,用于指定SQL语句
--multiquery -n 在非交互式执行时,允许一次运行多条SQL语句,多条语句之间以分号间隔
--time -t 在非交互式执行时,会打印每条SQL的执行时间
--multiline -m 设置这个选项后,在进入交互式查询界面后,可以允许一条SQL换行写入
否则换行的SQL是不能被正确解析的

你可能感兴趣的:(ClickHouse 单节点安装部署)