一、Docker/安装包部署ClickHouse

Docker/安装包部署ClickHouse

  • 一、docker部署
    • 1.安装Docker
    • 2.拉取ClickHouse镜像
      • [2.1 选择拉取版本](#2.1 选择拉取版本)
      • [2.2 拉取镜像](#2.2 拉取镜像)
    • 3.启动ClickHouse
      • [3.1 确定好挂载目录](#3.1 确定好挂载目录)
      • [3.2 测试环境](#3.2 测试环境)
      • [3.3 生产环境](#3.3 生产环境)
        • [3.1.1 获取配置文件](#3.1.1 获取配置文件)
        • [3.1.2 配置文件中添加用户](#3.1.2 配置文件中添加用户)
        • [3.1.3 启动容器](#3.1.3 启动容器)
    • 4.使用DBeaver连接
  • 二、安装包安装
    • 1.准备工作
      • [1.1 服务器节点](#1.1 服务器节点)
      • [1.2 关闭防火墙(所有节点)](#1.2 关闭防火墙(所有节点))
      • [1.3 文件打开数调整 ( 所有节点 )](#1.3 文件打开数调整 ( 所有节点 ))
      • [1.4 取消selinux(所有节点)](#1.4 取消selinux(所有节点))
      • [1.5 安装依赖(所有节点)](#1.5 安装依赖(所有节点))
      • [1.6 验证是否支持sse 4.2指令集 ( 所有节点 )](#1.6 验证是否支持sse 4.2指令集 ( 所有节点 ))
      • [1.7 重启服务器](#1.7 重启服务器)
    • 2.安装-单机
      • [2.1 下载安装包](#2.1 下载安装包)
      • [2.2 执行安装命令](#2.2 执行安装命令)
    • 3.开启远程访问
    • [4. 启动/关闭/开机自启命令](#4. 启动/关闭/开机自启命令)
    • 3.安装-集群

一、docker部署

1.安装Docker

2.拉取ClickHouse镜像

2.1 选择拉取版本

2.2 拉取镜像

  • 使用下面的命令,支持Linux的x86和arm架构

    拉取最新的ClickHouse镜像(推荐)

    docker pull clickhouse/clickhouse-server

    拉取指定版本的MySQL镜像

    docker pull clickhouse/clickhouse-server:22.12

3.启动ClickHouse

3.1 确定好挂载目录

  • 生产部署的时候,需要查看挂在的目录是否是系统最大的盘。
    • 查看路径的磁盘大小:df -h
  • 假设/data是系统的存储盘

3.2 测试环境

# 1.拉取镜像
docker pull clickhouse/clickhouse-server:22.12
# 2.启动镜像
docker run \
	-p 8123:8123 \
	--name clickhouse-server \
	--ulimit nofile=262144:262144 \
	-e CLICKHOUSE_DB=test \
	-e CLICKHOUSE_USER=root \
	-e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1 \
	-e TZ=Asia/Shanghai \
	-e CLICKHOUSE_PASSWORD=123456 \
	-d clickhouse/clickhouse-server:22.12
# 3.使用工具连接使用即可
  • 参数解释:
    • -p 8123:8123:将主机的 8123 端口映射到容器内的 8123 端口,用于访问 ClickHouse 的 HTTP 查询服务。
    • --name clickhouse-server:为容器指定一个名称,方便后续管理和操作。
    • --ulimit nofile=262144:262144:设置容器内 ClickHouse 进程的文件打开数量限制,防止因文件描述符不足导致问题。
    • -e CLICKHOUSE_DB=test:设置 ClickHouse 的默认数据库名为 test。
    • -e CLICKHOUSE_USER=root:设置 ClickHouse 的默认管理员用户名为 root。
    • -e CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT=1:启用 ClickHouse 的访问控制功能,需要设置管理员账号密码才能进行操作。
    • -e TZ=Asia/Shanghai:设置容器的时区为上海时间,便于处理时间相关的数据。
    • -e CLICKHOUSE_PASSWORD=123456:设置 ClickHouse 的管理员账号密码为 123456。
    • -d clickhouse/clickhouse-server:22.12:使用 clickhouse/clickhouse-server 镜像中的 ClickHouse 服务,并以后台方式运行容器。

3.3 生产环境

  • 容器数据相关的文件夹需要挂载到宿主机上, 分别有:clickhouse的配置文件、数据文件、日志文件。进而实现Clickhouse数据持久化, 方便数据备份、迁移、恢复。
  • 宿主机对应文件夹:
    • 配置文件的文件夹:/data/clickhouse/conf
    • 日志文件夹:/data/clickhouse/log
    • 数据文件夹:/data/clickhouse/data
3.1.1 获取配置文件
# 1.启动一个临时容器,为了拿配置文件
docker run --rm -d --name=temp-clickhouse-server clickhouse/clickhouse-server:22.12
# 2.复制配置文件到宿主机
mkdir -p /data/clickhouse/conf
docker cp temp-clickhouse-server:/etc/clickhouse-server/users.xml /data/clickhouse/conf/users.xml
docker cp temp-clickhouse-server:/etc/clickhouse-server/config.xml /data/clickhouse/conf/config.xml
# 3.删除临时容器
docker rm -f temp-clickhouse-server
3.1.2 配置文件中添加用户
  • 添加root用户,打开users.xml文件,把下面的内容复制到 <users></users>标签中

    <root> <password_sha256_hex>18138372fad4b94533cd4881f03dc6c69296dd897234e0cee83f727e2e6b1f63</password_sha256_hex> <networks incl="networks" replace="replace"> <ip>::/0</ip> </networks> <profile>default</profile> <quota>default</quota> </root>

其中18138372fad4b94533cd4881f03dc6c69296dd897234e0cee83f727e2e6b1f63生成方式

echo -n "qwe123" | sha256sum | tr -d '-'

18138372fad4b94533cd4881f03dc6c69296dd897234e0cee83f727e2e6b1f63
3.1.3 启动容器
sudo docker run -d --name=clickhouse-server \
		-p 8123:8123 \
		-e TZ=Asia/Shanghai \
		--volume=/data/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml \
		--volume=/data/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml \
		--volume=/data/clickhouse/log:/var/log/clickhouse-server \
		--volume=/data/clickhouse/data:/var/lib/clickhouse/ \
		clickhouse/clickhouse-server:22.12
  • 参数解释:
    • -d:将容器设置为在后台运行。
    • --name=clickhouse-server:给容器指定一个名称,这里是 "clickhouse-server"。
    • -p 8123:8123:将主机的 8123 端口映射到容器的 8123 端口,用于通过 HTTP 访问 ClickHouse 的查询服务。
    • -e TZ=Asia/Shanghai:设置容器的时区为亚洲/上海,以适应上海时区的时间。
    • --volume=/data/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml:将主机中 /data/clickhouse/conf/config.xml 文件映射到容器内的 /etc/clickhouse-server/config.xml 文件,这样可以提供自定义的 ClickHouse 配置文件。
    • --volume=/data/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml:将主机中 /data/clickhouse/conf/users.xml 文件映射到容器内的 /etc/clickhouse-server/users.xml 文件,这样可以提供自定义的用户认证信息。
    • --volume=/data/clickhouse/log:/var/log/clickhouse-server:将主机中 /data/clickhouse/log 目录映射到容器内的 /var/log/clickhouse-server 目录,用于存储 ClickHouse 的日志文件。
    • --volume=/data/clickhouse/data:/var/lib/clickhouse/:将主机中 /data/clickhouse/data 目录映射到容器内的 /var/lib/clickhouse/ 目录,用于存储 ClickHouse 的数据文件。
    • clickhouse/clickhouse-server:22.12:基于 ClickHouse 22.12 版本的 Docker 镜像,用于启动 ClickHouse 服务。

4.使用DBeaver连接


二、安装包安装

1.准备工作

1.1 服务器节点

  • 注意:单机才需要一个节点,如果是集群,需要多个节点
  • 192.168.11.130、192.168.11.129

1.2 关闭防火墙(所有节点)

# 这个重启后就会打开
systemctl status firewalld.service
systemctl stop firewalld.service
# 打开端口(建议)

1.3 文件打开数调整 ( 所有节点 )

# 查看当前文件打开最大数量
ulimit -n

在 /etc/security/limits.conf和/etc/security/limits.d/20-nproc.conf 这两个文件的末尾加入以下内容:
注意:没有20-nproc.conf 该文件就创建一个

[root@localhost ~]# vi /etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
* soft nproc 131072
* hard nproc 131072

[root@localhost ~]# vi /etc/security/limits.d/20-nproc.conf
* soft nofile 65535
* hard nofile 65535
* soft nproc 131072
* hard nproc 131072

1.4 取消selinux(所有节点)

# 修改 /etc/selinux/config 中的 SELINUX=disabled 后重启
vi /etc/selinux/config
SELINUX=disabled

1.5 安装依赖(所有节点)

# root用户执行:
yum install -y libtool
yum install -y *unixODBC*

1.6 验证是否支持sse 4.2指令集 ( 所有节点 )

# 需要验证当前服务器的CPU是否支持SSE 4.2指令集,因为向量化执行需要用到这项特性
[root@localhost ~]# grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"
SSE 4.2 supported

1.7 重启服务器

reboot

2.安装-单机

2.1 下载安装包

2.2 执行安装命令

rpm -ivh clickhouse-*
  • 中途会让设置密码,如果是演示环境就回车就可以了。

3.开启远程访问

# 在 /etc/clickhouse-server 路径下的config.xml中查找listen_host 并将如下注释打开,使其可以被除本机以外的其他IP所访问
vi /etc/clickhouse-server/config.xml
# 配置完重新加载配置:
clickhouse restart

4. 启动/关闭/开机自启命令

启停命令
    1. 启动
        clickhouse-server start
        systemctl start clickhouse-server.service
    2. 查看状态  
        clickhouse-server status
        systemctl status clickhouse-server.service
    3. 重启
        clickhouse-server restart  
        systemctl restart clickhouse-server.service
    4.开机自启
        systemctl enable clickhouse-server.service
        systemctl disable clickhouse-server.service

5.相关文件配置

  • 文件目录的配置都在:/etc/clickhouse-server/config.xml
    • 数据目录:<path>
    • 日志目录:
      • 正常日志标签:<log>
      • 错误日志标签:<errorlog>

3.安装-集群

相关推荐
我自飞扬临天下1 小时前
Docker常用命令
docker
码农土豆3 小时前
PaddlePaddle飞桨Linux系统Docker版安装
linux·docker·paddlepaddle
明 庭13 小时前
Ubuntu下通过Docker部署NGINX服务器
服务器·ubuntu·docker
dessler15 小时前
Docker-run命令详细讲解
linux·运维·后端·docker
aherhuo15 小时前
kubevirt网络
linux·云原生·容器·kubernetes
陌北v116 小时前
Docker Compose 配置指南
运维·docker·容器·docker-compose
catoop16 小时前
K8s 无头服务(Headless Service)
云原生·容器·kubernetes
阿里嘎多学长16 小时前
docker怎么部署高斯数据库
运维·数据库·docker·容器
明 庭17 小时前
Ubuntu下通过Docker部署Caddy服务器
服务器·ubuntu·docker
G_whang18 小时前
windos 安装docker
运维·docker·容器