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

docker安装clickhouse(单机版)

docker安装clickhouse

  • 1、docker安装clickhouse(单机版)
    • 1.1、主机映射容器目录配置
    • 1.2、添加用户
    • 1.3、修改config.xml,如果不改下面内容,副本集群不同步数据
    • 1.4、启动容器和容器参数解释
  • 2、命令行对clickhouse增删改查

1、docker安装clickhouse(单机版)

1.1、主机映射容器目录配置

容器数据相关的文件夹需要挂载到宿主机上, 分别有:clickhouse的配置文件、数据文件、日志文件。进而实现Clickhouse数据持久化, 方便数据备份、迁移、恢复。

宿主机对应文件夹:

#配置文件夹
mkdir -p /data/clickhouse/conf
#日志文件夹
mkdir -p /data/clickhouse/log
#数据文件夹
mkdir -p /data/clickhouse/data

为了拿配置文件,起个临时的容器

docker run --rm -d --name=temp-clickhouse-server clickhouse/clickhouse-server:22.12

复制配置文件到宿主机

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

删除临时容器

docker rm -f temp-clickhouse-server

1.2、添加用户

添加用户,编辑users.xml文件,在 标签下添加下面内容。
安装好后,用户名/密码:root/root就可以访问了

vi /data/clickhouse/conf/users.xml

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

获得password_sha256_hex内容

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

1.3、修改config.xml,如果不改下面内容,副本集群不同步数据

还需要修改配置文件config.xml,加上后,后面搭建副本集群,才能同步数据。

vi /data/clickhouse/conf/config.xml
#放开注释
<interserver_http_port>9009</interserver_http_port>
#放开注释,修改为本机IP
#不能是127.0.0.1 ,localhost之类的,不然别的主机读不到这台机
<interserver_http_host>192.168.52.7</interserver_http_host>

1.4、启动容器和容器参数解释

sudo docker run -d --restart=always --name=ck01 \
		-p 9000:9000 -p 8123:8123 -p 9009:9009 \
		-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=ck01:给容器指定一个名称,这里是 “ck01”。
-p 8123:8123:将主机的 8123 端口映射到容器的 8123 端口,用于通过 HTTP 访问 ClickHouse 的查询服务。
-p 9009:9009: 用来副本间传数据的地址端口,端口默认配好了是9009-p 9000:9000: 本地协议端口,即clickhouse的tcp协议端口。用于通过TCP/IP协议与ClickHouse数据库进行交互。
-e TZ=Asia/Shanghai:设置容器的时区为亚洲/上海,以适应上海时区的时间。
–volume 容器和本机文件映射。
clickhouse/clickhouse-server:22.12:基于 ClickHouse 22.12 版本的 Docker 镜像,用于启动 ClickHouse 服务。

创建数据库命令

CREATE DATABASE IF NOT EXISTS example_db;

2、命令行对clickhouse增删改查

#进入容器
docker exec -it ck01 bash
#进入命令行交互(默认无密码访问)
clickhouse-client
#指定用户名密码访问
clickhouse-client -u root --password root

#创建数据库
CREATE DATABASE IF NOT EXISTS example_db;
#查看数据库
show databases;
#进入指定数据库
use defalut;
#查询库里面的所有表
show tables;
#查看表的创建语句
show CREATE  table t_order_rep;

http://www.kler.cn/a/418557.html

相关文章:

  • 本地安装部署deepseek
  • 鸿蒙Harmony-Refresh 容器组件
  • 进程的环境变量
  • Linux进程状态及其转换
  • PVE纵览-解锁 PVE 的潜力:配置显卡直通
  • 排序算法--归并排序
  • 解决Qt堆栈窗口内子窗口大小不一致的问题
  • HTML5+JavaScript实现消消乐游戏
  • Flask项目入门—request以及Response
  • C与指针。
  • 深度解析MySQL的刷脏机制
  • 11. 名称空间
  • 深入解析 MySQL 启动方式:`systemctl` 与 `mysqld` 的对比与应用
  • 【iOS】《Effective Objective-C 2.0》阅读笔记(一)
  • 力扣103.二叉树的锯齿形层序遍历
  • git clone超大仓库时报错:fatal: early EOF
  • centos挂载ntfs或exFAT格式硬盘
  • 系统监控——分布式链路追踪系统
  • AJAX一、axios使用,url组成(协议,域名,资源路径)查询参数和化简,错误处理,请求/响应报文,状态码,接口文档,
  • 动态规划(c基础)
  • 【大数据学习 | Spark调优篇】Spark之内存调优
  • 深度学习基础3
  • 匿名发帖/匿名论坛功能设计与实现(编辑发帖部分)
  • 乌班图单机(不访问外网)部署docker和服务的方法
  • 【React】全局状态管理(Context, Reducer)
  • 在Window10或11系统中同时安装 JDK8 和 JDK11