一、安装docker

[root@~]# yum install -y yum-utils device-mapper-persistent-data lvm2      #安装依赖包

Installed:
  device-mapper-persistent-data.x86_64 0:0.8.5-3.el7_9.2                                     lvm2.x86_64 7:2.02.187-6.el7_9.4                                     yum-utils.noarch 0:1.1.31-54.el7_8                                    

Dependency Installed:
  device-mapper-event.x86_64 7:1.02.170-6.el7_9.4     device-mapper-event-libs.x86_64 7:1.02.170-6.el7_9.4     libaio.x86_64 0:0.3.109-13.el7     libxml2-python.x86_64 0:2.9.1-6.el7.5     lvm2-libs.x86_64 7:2.02.187-6.el7_9.4    
  python-chardet.noarch 0:2.2.1-3.el7                 python-kitchen.noarch 0:1.1.1-5.el7                     

Dependency Updated:
  device-mapper.x86_64 7:1.02.170-6.el7_9.4                                      device-mapper-libs.x86_64 7:1.02.170-6.el7_9.4                                      libxml2.x86_64 0:2.9.1-6.el7.5  

Complete!                         


[root@~]# 
[root@~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo     #添加yum资源包
Loaded plugins: fastestmirror
adding repo from: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
[root@~]# 
[root@~]# yum makecache
[root@~]#  
[root@~]# yum list docker-ce.x86_64  --showduplicates | sort -r          #查看可以用版本
[root@~]# 
[root@~]# yum install docker-ce                                                           #这里选择安装最新版本

Installed:
  docker-ce.x86_64 3:20.10.6-3.el7                                                                                                                                                                                                       

Dependency Installed:
  audit-libs-python.x86_64 0:2.8.5-4.el7              checkpolicy.x86_64 0:2.5-8.el7                container-selinux.noarch 2:2.119.2-1.911c772.el7_8    containerd.io.x86_64 0:1.4.4-3.1.el7    docker-ce-cli.x86_64 1:20.10.6-3.el7   
  docker-ce-rootless-extras.x86_64 0:20.10.6-3.el7    docker-scan-plugin.x86_64 0:0.7.0-3.el7       fuse-overlayfs.x86_64 0:0.7.2-6.el7_8                 fuse3-libs.x86_64 0:3.6.1-4.el7         libcgroup.x86_64 0:0.41-21.el7         
  libsemanage-python.x86_64 0:2.5-14.el7              policycoreutils-python.x86_64 0:2.5-34.el7    python-IPy.noarch 0:0.75-6.el7                        setools-libs.x86_64 0:3.3.8-4.el7       slirp4netns.x86_64 0:0.4.3-4.el7_8     

Dependency Updated:
  audit.x86_64 0:2.8.5-4.el7                                              audit-libs.x86_64 0:2.8.5-4.el7                                              policycoreutils.x86_64 0:2.5-34.el7                                             

Complete!
[root@~]# 
[root@~]# 
[root@~]# docker --version                                                         #查看版本
Docker version 20.10.6, build 370c289
[root@~]# 

配置docker文件在宿主机的目录(适用与服务器数据盘不在/ 分区)

[root@~]#mkdir -p  /data/docker-data

[root@~]# cat << EOF >>/etc/docker/daemon.json
> {
>     "data-root": "/data/docker-data"
> }
> EOF
[root@~]# 
[root@~]# cat /etc/docker/daemon.json 
{
    "data-root": "/data/docker-data"
}

[root@~]# 
[root@~]# service docker start                                                     #启动docker服务
Redirecting to /bin/systemctl start docker.service

二、docker安装clickhouse

[root@~]#  docker pull yandex/clickhouse-server:21.4.3.21                          #拉取clickhouse镜像

[root@~]# docker images                                                                               #查看已下载的镜像
REPOSITORY                         TAG         IMAGE ID       CREATED      SIZE
yandex/clickhouse-server   21.4.3.21   9aeb1b103595   9 days ago   557MB

[root@~]#  docker run -it -d --restart always --name=clickhouse-server  -v /etc/localtime:/etc/localtime -p 8123:8123 -p 9000:9000 -p 9009:9009  yandex/clickhouse-server:21.4.3.21                  #生成容器

f7c488c3e31a66c96dc8fbc7b0a024e7092f59c70fd4c2d780a28dd3dca56bff

[root@~]# docker ps
CONTAINER ID   IMAGE                                COMMAND            CREATED         STATUS         PORTS                                                                                                                             NAMES
f7c488c3e31a   yandex/clickhouse-server:21.4.3.21   "/entrypoint.sh"   4 seconds ago   Up 3 seconds   0.0.0.0:8123->8123/tcp, :::8123->8123/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp, 0.0.0.0:9009->9009/tcp, :::9009->9009/tcp   clickhouse-server

三、 clickhouse 数据库修改密码&&添加用户 

算出密码的明文和密文
[root@~]# PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'    #安全起见此处密码为虚构,读者请根据实际算出的密码来配置
明文密码:AN7u8CHa
加密密码:0d4fb009a2082713343e434af372ddfeb4c7utr02f42916970e283e974449533 


添加用户和密码
cd /etc/clickhouse-server
cat  users.xml

将65行的 替换为 <password_sha256_hex>0d4fb009a2082713343e434af372ddfeb4c7d9f02f42916970e283e974449533</password_sha256_hex>

把default账号设为只读权限,并设置密码 yandex-->users-->default-->profile 节点设为 readonly 注释掉 yandex-->users-->default-->password 节点 新增  yandex-->users-->default-->password_sha256_hex 节点,填入生成的密码
新增root账号
<root>
    <password_sha256_hex>0d4fb009a2082713343e434af372ddfeb4c7d9f02f42916970e283e974449533</password_sha256_hex>
    <networks incl="networks" replace="replace">
    <ip>::/0</ip>
    </networks>
    <profile>default</profile>
    <quota>default</quota>
</root>


也可本地编辑好users.xml文件 再复制到docker容器内
[root@~]# docker cp users.xml  clickhouse-server:/etc/clickhouse-server/ 

使用客户端工具测试连接

用户名:root

密码为:AN7u8CHa

命令行连接:

进入容器

#docker exec -it clickhouse-xx

容器内登录数据库

# clickhouse-client -u root  --password AN7u8CHa
ClickHouse client version 21.4.3.21 (official build).
Connecting to localhost:9000 as user root.
Connected to ClickHouse server version 21.4.3 revision 54447.

slave-2 :) 
slave-2 :) 
slave-2 :) show databases;

Query id: a892760f-1e38-4644-b67d-abad6d7ce455

┌─name────┐
│ default           │
│ system          │
│ yunwei          │
└─────────┘

slave-2 :) use yunwei;

slave-2 :) show tables;

Query id: 88536af7-1c67-4844-8999-15b821f7936f

┌─name────────────┐
│ ontime_all                           │
│ ontime_local                       │
│ ontime_local_02                 │
│ ontime_local_03                 │
│ ontime_master                   │
└─────────────────┘

5 rows in set. Elapsed: 0.037 sec. 

slave-2 :) select * from ontime_master;

Query id: 9d441a5e-7e64-4033-a9a4-af8240acfaa1

┌─Year─┬─Quarter─┬─Month─┬─DayofMonth─┬─DayOfWeek─┬─FlightDate─┐
│ 1981 │       5 │     5 │          1 │         6 │ 1970-01-01 │
│ 1981 │       8 │     5 │          1 │         6 │ 1970-01-01 │
│ 1982 │      12 │     5 │          1 │         6 │ 1970-01-01 │
│ 1982 │      11 │     5 │          1 │         6 │ 1970-01-01 │
│ 2098 │       1 │     1 │         11 │         8 │ 1970-01-01 │
│ 2098 │       1 │     1 │         11 │         8 │ 1970-01-01 │
│ 2098 │       1 │     1 │         11 │         8 │ 1970-01-01 │
│ 2098 │       1 │     1 │         11 │         8 │ 1970-01-01 │
│ 2098 │       1 │     1 │         11 │         8 │ 1970-01-01 │
│ 2098 │       1 │     1 │         11 │         8 │ 1970-01-01 │
│ 2098 │       1 │     1 │         11 │         8 │ 1970-01-01 │
│ 2098 │       1 │     1 │         11 │         8 │ 1970-01-01 │
│ 2098 │       1 │     1 │         11 │         8 │ 1970-01-01 │
│ 2098 │       1 │     1 │         11 │         8 │ 1970-01-01 │
└──────┴─────────┴───────┴────────────┴───────────┴

已可以看到数据,数据库安装完成!

更多推荐