当前位置:   article > 正文

一、Docker/安装包部署ClickHouse_docker部署clickhouse

docker部署clickhouse

一、docker部署

1.安装Docker

2.拉取ClickHouse镜像

2.1 选择拉取版本

  • 第一种方式:查找镜像:docker search clickhouse-server
  • 第二种方式:去官网查看镜像tag,选择自己需要的版本,否则会下载最新版本:https://hub.docker.com/r/clickhouse/clickhouse-server

2.2 拉取镜像

  • 使用下面的命令,支持Linux的x86和arm架构
# 拉取最新的ClickHouse镜像(推荐)
docker pull clickhouse/clickhouse-server
# 拉取指定版本的ClickHouse镜像
docker pull clickhouse/clickhouse-server:22.12
  • 1
  • 2
  • 3
  • 4

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.使用工具连接使用即可
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 参数解释:
    • -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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述
其中18138372fad4b94533cd4881f03dc6c69296dd897234e0cee83f727e2e6b1f63生成方式

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

18138372fad4b94533cd4881f03dc6c69296dd897234e0cee83f727e2e6b1f63
  • 1
  • 2
  • 3
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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 参数解释:
    • -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
  • 2
  • 3
  • 4

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

1.4 取消selinux(所有节点)

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

1.5 安装依赖(所有节点)

# root用户执行:
yum install -y libtool
yum install -y *unixODBC*
  • 1
  • 2
  • 3

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
  • 2
  • 3

1.7 重启服务器

reboot
  • 1

2.安装-单机

2.1 下载安装包

# 创建一个临时文件夹
mkdir temp && cd temp
# 选择21.10.6.2版本下载,共有四个安装包
wget https://packages.clickhouse.com/rpm/stable/clickhouse-client-21.10.6.2-2.noarch.rpm
wget https://packages.clickhouse.com/rpm/stable/clickhouse-server-21.10.6.2-2.noarch.rpm
wget https://packages.clickhouse.com/rpm/stable/clickhouse-common-static-21.10.6.2-2.x86_64.rpm
wget https://packages.clickhouse.com/rpm/stable/clickhouse-common-static-dbg-21.10.6.2-2.x86_64.rpm
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2.2 执行安装命令

rpm -ivh clickhouse-*
  • 1

在这里插入图片描述

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

3.开启远程访问

# 在 /etc/clickhouse-server 路径下的config.xml中查找listen_host 并将如下注释打开,使其可以被除本机以外的其他IP所访问
vi /etc/clickhouse-server/config.xml
  • 1
  • 2

在这里插入图片描述

# 配置完重新加载配置:
clickhouse restart
  • 1
  • 2

在这里插入图片描述

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

5.相关文件配置

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

3.安装-集群

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号