docker安装部署clickhouse

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# docker部署clickhouse
 
# 安装clickhouse-server
 
## 创建目录
 
```shell
#宿主机创建目录,用于存放配置文件、数据、日志(我是放在/data/docker/clickhouse下)
sudo mkdir -p /data/docker/clickhouse/conf /data/docker/clickhouse/data /data/docker/clickhouse/log
chmod 777 -R data/ conf/ log/
```
 
## 拉取镜像
 
```shell
#拉取镜像
docker pull yandex/clickhouse-server
docker pull yandex/clickhouse-client
```
 
## 创建临时容器,拷贝文件
 
- 运行命令创建启动临时容器:
 
  ```shell
  #启动临时容器,目的:拷贝容器内配置文件
  # -d 后台运行
  # --rm 启动临时容器,当容器停掉后,容器自动删除
  # --name 容器名称
  docker run -d --rm --name=temp yandex/clickhouse-server
  ```
 
- 将配置文件、数据目录拷出来做挂载:
 
  ```shell
  #将容器内配置文件拷贝到宿主机
  docker cp temp:/etc/clickhouse-server/users.xml /data/docker/clickhouse/conf/users.xml
  docker cp temp:/etc/clickhouse-server/config.xml /data/docker/clickhouse/conf/config.xml
  ```
 
- 生成SHA256密码
 
  ```shell
  #修改连接用户名、密码(users.xml)
  #1.执行命令,随机生成SHA256密码
  PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'
  #2.返回结果
  #用户名:default
  #密码明文:XXXXX
  #密码密文:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
   
  #用户名:root
  #密码明文:YYYYY
  #密码密文:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
  ```
 
- 修改users.xml配置文件
 
  ```xml
  <!-- Users and ACL. -->
      <users>
          <!-- If user name was not specified, 'default' user is used. -->
          <default>                   <password_sha256_hex>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</password_sha256_hex>
              <networks incl="networks" replace="replace">
                  <ip>::/0</ip>
              </networks>
    
              <!-- Settings profile for user. -->
              <profile>readonly</profile>
    
              <!-- Quota for user. -->
              <quota>default</quota>
    
              <!-- User can create other users and grant rights to them. -->
              <!-- <access_management>1</access_management> -->
          </default>
    
          <root>            <password_sha256_hex>yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy</password_sha256_hex>
              <networks incl="networks" replace="replace">
                  <ip>::/0</ip>
              </networks>
              <profile>default</profile>
              <quota>default</quota>
          </root>
      </users>
  ```
 
## 销毁临时容器,重新以挂载方式运行
 
- 停止临时clickhouse容器
 
  ```shell
  #停止临时clickhouse容器
  docker stop temp
  ```
 
- 以目录挂载方式启动clickhouse-server容器
 
  ```shell
  #启动clickhouse容器
  docker run -d --name pocp-clickhouse-server --ulimit nofile=262144:262144 -p 9000:9000 -p 8123:8123 -p 9009:9009 --volume=/data/docker/clickhouse/data:/var/lib/clickhouse:rw --volume=/data/docker/clickhouse/log:/var/log/clickhouse-server:rw --volume=/data/docker/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml --volume=/data/docker/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml  yandex/clickhouse-server
  ```
 
# 安装clickhouse-client,测试命令行
 
## 启动clickhouse-client客户端容器
 
```shell
#启动clickhouse-client客户端容器
#docker run -it --link clickhouse-server的容器名称 clickhouse-client的镜像id --host clickhouse-server的ip --user default --password
docker run -it --rm --link pocp-clickhouse-server dd0477b8ca59 --host 172.17.0.5 --user default --password
```
 
# 安装clickhouse-tabix-web-client
 
## 启动clickhouse-tabix-web-client客户端容器
 
```shell
# docker部署启动clickhouse的web客户端-tabix,加上密码验证更安全:
docker run -d --name pocp-clickhouse-tabix -p 8111:80 -e USER='user_name' -e PASSWORD='password' spoonest/clickhouse-tabix-web-client
# 通过浏览器访问:http://IP:8111/#!/login
 
```

  

posted @   test_yu  阅读(814)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示