- 创建一个和生产环境系统版本(CentOS 7.9)一样的虚拟机
- 查找官网安装教程
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
- 下载指定版本的ck,yum离线安装包
sudo yumdownloader --resolve --destdir /home/ck clickhouse-server-21.1.9.41-2
sudo yumdownloader --resolve --destdir /home/ck clickhouse-client-21.1.9.41-2
- 如果遇到以下情况,请更新yum源
[Errno 14] curl#7 - "Failed connect to xxx.clickhouse.com:443; 操作现在正在进行"
- 更新yum源操作
# 切换到yum源目录
cd /etc/yum.repos.d
# 备份
mv CentOS-Base.repo CentOS-Base.repo.bak
# 拉163的源用
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
# 重命名
mv CentOS7-Base-163.repo CentOS-Base.repo
- 下载创建本地仓库的安装包,repotrack命令可以下载依赖的依赖
sudo repotrack -p /home/ck createrepo
- 压缩上传文件到生产服务器
sudo tar -zcvf ck.tar.gz /home/ck
- 在生产服务器上解压文件,并创建本地仓库
# 以下在生产服务器上执行
cd /opt/packages
sudo tar -xzf ck.tar.gz
cd ck
# 先装createrepo的依赖
rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm
# 本地已有旧版本,此处-U为升级新版本的参数
rpm -Uvh libxml2-2.9.1-6.el7_9.6.x86_64.rpm
rpm -ivh libxml2-python-2.9.1-6.el7_9.6.x86_64.rpm
rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm
# 安装createrepo
rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm
# 创建本地仓库
sudo createrepo ck
- 创建仓库配置文件
cd /etc/yum.repos.d/
sudo vim clickhouse.repo
- 写入以下内容
[clickhouse-server]
name=clickhouse-server
baseurl=file:///opt/packages/ck/
gpgcheck=0
enabled=1
[clickhouse-client]
name=clickhouse-client
baseurl=file:///opt/packages/ck/
gpgcheck=0
enabled=1
- 安装ck服务端和客户端
sudo yum install clickhouse-server
sudo yum install clickhouse-client
- 启动ck服务端
systemctl start clickhouse-server
- ck配置文件
# 服务端配置
/etc/clickhouse-server
config.xml # 全局配置文件
user.xml # 用户配置文件
# 客户端配置
/etc/clickhouse-client
config.xml # 客户端配置文件
# ClickHouse文件句柄数配置
/etc/security/limits.d/clickhouse.conf
# 默认值262144,应该足够了
clickhouse soft nofile 262144
clickhouse hard nofile 262144
# ClickHouse全局配置文件: /etc/clickhouse-server/config.xml
# 默认数据存储目录(一般需要修改为大容量磁盘挂载的目录)
/var/lib/clickhouse
# 默认日志存储目录(一般需要修改为大容量磁盘挂载的目录)
/var/log/clickhouse-server
- 设置开机启动ck服务
systemctl enable clickhouse-server
- 为clickhouse-client起别名
# 在~/.bash_profile中添加
alias ck='clickhouse-client'
# 立即生效
source ~/.bash_profile
- 配置外网访问
sudo vim /etc/clickhouse-server/config.d/config.xml
<?xml version="1.0"?>
<yandex>
# 不限制IP访问
<listen_host>0.0.0.0</listen_host>
</yandex>
sudo systemctl restart clickhouse-server
- 创建数据库
CREATE DATABASE IF NOT EXISTS api;
SHOW DATABASES;