欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 旅游 > 中间件--ClickHouse-11--部署示例(Linux宿主机部署,Docker容器部署)

中间件--ClickHouse-11--部署示例(Linux宿主机部署,Docker容器部署)

2025/4/23 17:38:54 来源:https://blog.csdn.net/qq_34207422/article/details/147355927  浏览:    关键词:中间件--ClickHouse-11--部署示例(Linux宿主机部署,Docker容器部署)

一、Linux宿主机部署

1、环境准备

  • 操作系统:推荐使用 CentOS 7/8 或 Ubuntu 18.04/20.04。
  • 硬件要求:
    • 至少 2 核 CPU 和 4GB 内存。
    • 足够的磁盘空间(根据数据量评估)。
    • CPU需支持SSE4.2指令集(可通过以下命令检查):
      bash示例:
      grep -q sse4_2 /proc/cpuinfo && echo “SSE4.2 supported” || echo “SSE4.2 not supported”
  • 网络:确保服务器可以访问互联网以下载必要的软件包。

2、安装ClickHouse

(1)、CentOS上使用YUM源安装
1. 添加 ClickHouse 官方仓库

bash示例:

sudo yum install -y yum-utils
sudo rpm --import https://repo.clickhouse.com/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.clickhouse.com/rpm/clickhouse.repo
2. 安装 ClickHouse

bash示例:

sudo yum install -y clickhouse-server clickhouse-client
3. 启动服务

bash示例:

sudo systemctl start clickhouse-server    # 启动示例
sudo systemctl enable clickhouse-server    # 设置开机自启
(2)、Ubuntu使用APT安装
1. 添加 ClickHouse 官方仓库

bash示例:

sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4
echo "deb https://repo.clickhouse.com/deb/stable/main/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/clickhouse.list
2. 安装 ClickHouse

bash示例:

sudo apt-get update
sudo apt-get install -y clickhouse-server clickhouse-client
3. 启动服务

bash示例:

sudo service clickhouse-server start
(3)、手动安装(适用于离线环境)
1. 下载 ClickHouse 二进制文件

访问 ClickHouse Releases,下载适合的版本,例如:
bash示例:

wget https://builds.clickhouse.com/master/amd64/clickhouse
chmod +x clickhouse
sudo mv clickhouse /usr/bin/
2. 创建默认配置目录

bash示例:

sudo mkdir -p /etc/clickhouse-server
sudo cp /usr/share/clickhouse/config.xml /etc/clickhouse-server/
sudo cp /usr/share/clickhouse/users.xml /etc/clickhouse-server/
3. 启动 ClickHouse

bash示例:

sudo clickhouse-server --config-file=/etc/clickhouse-server/config.xml

3、部署验证

(1)、通过客户端连接
1. 使用 clickhouse-client 连接到服务器:

bash示例:

clickhouse-client

执行后,可以成功进入交互式命令行界面。

2. 执行简单的 SQL 查询:

sql示例:

SHOW DATABASES;
或:
SELECT 1;

前者返回数据库信息,后者返回1,则说明客户端连接成功,即ClickHouse已正确安装并运行。

(2)、检查服务状态
1. 检查 ClickHouse 服务是否正在运行:

bash示例:

sudo systemctl status clickhouse-server

或者:
bash示例:

ps aux | grep clickhouse
2. 查看日志文件:

默认日志路径为 /var/log/clickhouse-server/,检查日志是否有错误信息:
bash示例:

tail -f /var/log/clickhouse-server/clickhouse-server.log
(3)、测试 HTTP 接口
  1. 默认情况下,ClickHouse 提供 HTTP 接口,默认端口为 8123。
  2. 测试接口是否可用:
    bash示例:
curl 'http://localhost:8123/?query=SELECT+version()'

输出类似于以下内容:

22.9.1.1   

4、配置ClickHouse

  • 主要配置文件及路径:
    • 主配置文件:/etc/clickhouse-server/config.xml
    • 用户配置文件:/etc/clickhouse-server/users.xml
(1)、设置监听地址

编辑 config.xml 文件,找到 <listen_host> 部分,设置为 0.0.0.0 以允许所有 IP 访问:
xml示例:

<listen_host>0.0.0.0</listen_host>
(2)、修改用户权限

编辑 users.xml 文件,设置默认用户的密码或添加新用户:
xml示例:

<password>your_password</password>
(3)、配置防火墙(可选)

开放ClickHouse的默认端口(HTTP端口8123和TCP端口9000):
bash示例:
Ubuntu/Debian:

sudo ufw allow 8123/tcp
sudo ufw allow 9000/tcp

CentOS/RHEL:

sudo firewall-cmd --permanent --add-port=8123/tcp
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo firewall-cmd --reload
(4)、重启服务

修改配置后需要重启 ClickHouse 服务:
bash示例:

sudo service clickhouse-server restart     # Ubuntu/Debian
sudo systemctl restart clickhouse-server   # CentOS/RHEL

5、常见问题排查

(1)、服务无法启动
  • 检查日志文件 /var/log/clickhouse-server/clickhouse-server.log。
  • 确保端口未被占用(默认端口:8123 HTTP, 9000 TCP)。
(2)、客户端连接失败
  • 确认 clickhouse-server 是否正在运行。
  • 检查防火墙规则,确保开放了 8123 和 9000 端口。
(3)、性能问题
  • 确保服务器有足够的内存和磁盘空间。
  • 调整配置文件中的缓存和线程池参数。

6、可视化工具推荐

  • 客户端工具:clickhouse-client(命令行)。
  • 图形化工具:
    • DBeaver:支持ClickHouse驱动,可直接连接。
    • Grafana:结合ClickHouse插件实现数据可视化。

二、Docker部署

1、环境准备

  • 操作系统:推荐使用 CentOS 7/8 或 Ubuntu 18.04/20.04。
  • 硬件要求:
    • 至少 2 核 CPU 和 4GB 内存。
    • 足够的磁盘空间(根据数据量评估)。
    • CPU需支持SSE4.2指令集(可通过以下命令检查):
      bash示例:
grep -q sse4_2 /proc/cpuinfo && echo "SSE4.2 supported" || echo "SSE4.2 not supported"
  • 网络:确保服务器可以访问互联网以下载必要的镜像。

2、安装Docker

(1)、CentOS上安装Docker

bash示例:
更新系统包

sudo yum update -y

安装 Docker

sudo yum install -y docker

启动并设置 Docker 开机自启

sudo systemctl start docker
sudo systemctl enable docker

检查 Docker 版本

docker --version
(2)、Ubuntu上安装Docker

bash示例:
更新系统包

sudo apt-get update

安装 Docker

sudo apt-get install -y docker.io

启动并设置 Docker 开机自启

sudo systemctl start docker
sudo systemctl enable docker

检查 Docker 版本

docker --version

3、拉取 ClickHouse 镜像

从 Docker Hub 拉取官方的 ClickHouse 镜像:
bash示例:

docker pull clickhouse/clickhouse-server

4、运行 ClickHouse 容器

(1)、基础命令(不推荐)

启动一个 ClickHouse 容器,并将默认端口映射到主机上:
bash示例:

docker run -d \--name clickhouse-server \-p 8123:8123 \   # HTTP 接口-p 9000:9000 \   # TCP 接口-p 9009:9009 \   # 复制协议(可选)clickhouse/clickhouse-server
(2)、挂载数据目录(推荐)

持久化存储数据,建议将本地目录挂载到容器中:
bash示例:

docker run -d \--name clickhouse-server \-p 8123:8123 \-p 9000:9000 \-v /path/to/local/data:/var/lib/clickhouse \-v /path/to/local/config:/etc/clickhouse-server \clickhouse/clickhouse-server

解释:

  • /path/to/local/data:用于存储 ClickHouse 数据文件。
  • /path/to/local/config:用于存储 ClickHouse 配置文件。
(3)、自定义配置启动

如果需要自定义配置,可以将主机上的 config.xml 和 users.xml 文件挂载到容器中:
bash示例:

docker run -d \--name clickhouse-server \-p 8123:8123 \-p 9000:9000 \-v /path/to/local/config/config.xml:/etc/clickhouse-server/config.xml \-v /path/to/local/config/users.xml:/etc/clickhouse-server/users.xml \clickhouse/clickhouse-server

5、验证部署是否成功

(1)、通过客户端连接
1. 使用 clickhouse-client 连接到容器中的 ClickHouse:

bash示例:

docker exec -it clickhouse-server clickhouse-client

如果成功进入交互式命令行界面,则说明 ClickHouse 已正确运行。

2. 执行简单的 SQL 查询:

sql示例:

SHOW DATABASES;
或:
SELECT 1;

如果显示数据库列表或后者返回1,说明客户端连接成功,即ClickHouse已正确安装并运行。

(2)、测试HTTP接口
  1. 默认情况下,ClickHouse 提供 HTTP 接口,默认端口为 8123。
  2. 测试接口是否可用:
    bash示例:
   curl 'http://localhost:8123/?query=SELECT+version()'

输出类似于以下内容:

22.9.1.1
(3)、检查容器状态
1. 查看容器是否正在运行:

bash示例:

docker ps

输出中应包含 clickhouse-server 容器。

2. 查看容器日志:

bash示例:

docker logs clickhouse-server

6、管理 ClickHouse 容器

bash示例:
停止容器

docker stop clickhouse-server

启动容器

docker start clickhouse-server

删除容器

docker rm -f clickhouse-server

7、配置 ClickHouse

(1)、修改配置文件
  • 如果挂载了配置文件(如 config.xml 和 users.xml),可以直接在主机上编辑这些文件。
  • 修改完成后,重启容器以应用更改:
    bash示例:
docker restart clickhouse-server
(2)、设置监听地址

编辑 config.xml 文件,找到 <listen_host> 部分,设置为 0.0.0.0 以允许所有 IP 访问:
xml示例:

<listen_host>0.0.0.0</listen_host>
(3)、修改用户权限

编辑 users.xml 文件,设置默认用户的密码或添加新用户:
xml示例:

<password>your_password</password>
(4)、配置防火墙(可选)

开放ClickHouse的默认端口(HTTP端口8123和TCP端口9000):
bash示例:
Ubuntu/Debian:

sudo ufw allow 8123/tcp
sudo ufw allow 9000/tcp

CentOS/RHEL:

sudo firewall-cmd --permanent --add-port=8123/tcp
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo firewall-cmd --reload

7、可视化工具推荐

  • 客户端工具:clickhouse-client(命令行)。
  • 图形化工具:
    • DBeaver:支持ClickHouse驱动,可直接连接。
    • Grafana:结合ClickHouse插件实现数据可视化。
(1)、DBeaver示例(推荐)
  1. 下载并安装 DBeaver(官网:https://dbeaver.io/)。
  2. 新建连接:
    • 连接类型选择 ClickHouse。
    • 主机:ClickHouse 服务器 IP 或域名。
    • 端口:9000(默认 TCP 端口)。
    • 用户名:default(或自定义用户)。
    • 密码:若已设置密码需填写。
      3.测试连接成功后,即可通过图形界面执行 SQL、查看表结构等。
(2)、Grafana示例
1. 特点:
  • 强大的数据可视化工具,支持实时监控和仪表盘。
  • 可与 ClickHouse 直接集成,支持动态图表和告警。
2.使用步骤:

步骤一:安装 Grafana(以 Ubuntu 为例):
bash示例:
wget https://dl.grafana.com/oss/release/grafana_10.1.6_amd64.deb
sudo dpkg -i grafana_10.1.6_amd64.deb
sudo systemctl start grafana-server

步骤二:访问 Grafana 界面:
浏览器访问 http://<服务器IP>:3000(默认账号密码:admin/admin)。

步骤三:添加 ClickHouse 数据源:

  • 点击 Configuration > Data Sources > Add data source。
  • 选择 ClickHouse。
  • 配置参数:
    • URL: http://<ClickHouse服务器IP>:8123
    • 用户名/密码:default(或其他用户)。
    • 数据库:default(或目标数据库)。

步骤四:创建仪表盘:

  • 通过 SQL 查询生成图表(如折线图、柱状图等)。

逆风成长,Dare To Be!!!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词