当前位置: 首页 > news >正文

08、Docker学习,常用安装:ClickHouse

Docker学习,常用安装:ClickHouse

一、ClickHouse安装

1、拉取镜像
docker pull clickhouse/clickhouse-server

2、拉取配置文件

##启动一个临时容器,为了拿配置文件
	docker run --rm -d --name=temp-clickhouse-server clickhouse/clickhouse-server

##复制配置文件到宿主机
	mkdir -p /opt/software/myfile/clickhouse/conf
	docker cp temp-clickhouse-server:/etc/clickhouse-server/users.xml /opt/software/myfile/clickhouse/conf/users.xml
	docker cp temp-clickhouse-server:/etc/clickhouse-server/config.xml /opt/software/myfile/clickhouse/conf/config.xml

##删除临时容器
docker rm -f temp-clickhouse-server


3、创建root用户密码
echo -n "admin123" | sha256sum | tr -d '-'
结果:240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9

4、添加root用户
添加root用户,打开users.xml文件,把下面的内容复制到 <users></users>标签中
<!--这是密文的配置-->
<root>
    <password_sha256_hex>240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9</password_sha256_hex>
	<networks incl="networks" replace="replace">
		<ip>::/0</ip>
	</networks>
	<profile>default</profile>
	<quota>default</quota>
</root>

<!--这是明文的配置-->
<root>
    <password>123456</password>
	<networks incl="networks" replace="replace">
		<ip>::/0</ip>
	</networks>
	<profile>default</profile>
	<quota>default</quota>
</root>

5、开启远程访问
打开config.xml,修改<listen_host></listen_host>
为:<listen_host>0.0.0.0</listen_host>

5、启动容器
mkdir -p /opt/software/myfile/clickhouse/log
mkdir -p /opt/software/myfile/clickhouse/data

docker run -d --name=clickhouse-server \
    -p 8123:8123 \
    -e TZ=Asia/Shanghai \
    --volume=/opt/software/myfile/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml \
    --volume=/opt/software/myfile/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml \
    --volume=/opt/software/myfile/clickhouse/log/:/var/log/clickhouse-server/ \
    --volume=/opt/software/myfile/clickhouse/data/:/var/lib/clickhouse/ \
    clickhouse/clickhouse-server
##参数解释:
-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 的管理员账号密码为 admin123。

-d clickhouse/clickhouse-server:使用 clickhouse/clickhouse-server 镜像中的 ClickHouse 服务,并以后台方式运行容器。


-d:将容器设置为在后台运行。

–name=clickhouse-server:给容器指定一个名称,这里是 “clickhouse-server”。


–volume=/opt/software/myfile/clickhouse/config/config.xml:/data/clickhouse/conf/config.xml:
	将主机中 /opt/software/myfile/clickhouse/config/config.xml 文件映射到容器内的 /data/clickhouse/conf/config.xml 文件,
	这样可以提供自定义的 ClickHouse 配置文件。

–volume=/opt/software/myfile/clickhouse/config/users.xml:/data/clickhouse/conf/users.xml:
	将主机中 /opt/software/myfile/clickhouse/config/users.xml 文件映射到容器内的 /data/clickhouse/conf/users.xml 文件,
	这样可以提供自定义的用户认证信息。

–volume=/opt/software/myfile/clickhouse/log/clickhouse-server:/var/log/clickhouse-server/:
	将主机中 /opt/software/myfile/clickhouse/log/ 目录映射到容器内的 /var/log/clickhouse-server/ 目录,
	用于存储 ClickHouse 的日志文件。

–volume=/opt/software/myfile/clickhouse/data/:/var/lib/clickhouse/:
	将主机中 /opt/software/myfile/clickhouse/data/ 目录映射到容器内的 /var/lib/clickhouse/ 目录,
	用于存储 ClickHouse 的数据文件。

clickhouse/clickhouse-server 基于 ClickHouse 最新 版本的 Docker 镜像,用于启动 ClickHouse 服务。
7、使用dbeaver连接

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/a/116022.html

相关文章:

  • leetcode122-买卖股票的最佳时机II
  • 通过ssh config让远程服务器通过本地代理访问受限网络
  • 公司内网部署离线deepseek本地模型实战
  • 快 速 幂
  • MySQL请求处理全流程深度解析:从SQL语句到数据返回
  • 队列(C/C++)
  • 25/4/6 算法笔记<仿真O2DES>基础知识学习
  • CasaOS小主机本地安装1Panel运维面板结合内网穿透移动端远程运维
  • 【网络安全】大学信息安全技术 期末考试复习题
  • 力扣热题100——动态规划(上)
  • B站视频教材: Yocto项目实战教程 第一章 PPT讲解
  • 【dify应用】将新榜排行数据免费保存到飞书表格
  • Android Transition转场动效使用全解析
  • 精心整理的 22道 Kafka 高频面试题(含答案),你都会了吗?
  • [leetcode] 面试经典 150 题——篇9:二叉树(番外:二叉树的遍历方式)
  • AI Agent开发大全第二十一课-如何开发一个MCP(从0开发一个MCP Client)
  • Kafka 的发展历程
  • React学习-css
  • 【IDEA】✈️自定义模板,自动生成类和方法注释
  • 差分音频转单端音频单电源方案
  • 小菜Go:Ubuntu下Go语言开发环境搭建
  • 工控机和笔记本互传(①笔记本充当工控机的显示器、②笔记本控制工控机)
  • TypeScript 中interface和type的区别?
  • SDL视频显示函数
  • 数据倾斜:分布式系统中的性能杀手与应对之道
  • React Context API 用于在组件树中共享全局状态
  • Go 学习笔记 · 进阶篇 · 第一天:接口与多态
  • SH 和 BASH 有什么不同 ?
  • Spring Boot 2.6.15 + MyBatis-Plus 3.5.1 升级至 3.3.2 + 3.5.7 全流程指南
  • C++——析构函数