docker 安装 clickhouse单机版
xxx
docker 安装 clickhouse单机版
默认已经安装好Docker, 尚未安装docker的可以参考这篇: Ubuntu安装Docker
- 直接运行, docker会自动帮你拉取镜像:
docker run -d --name ch-server --ulimit nofile=262144:262144 -p 8123:8123 -p 9000:9000 -p 9009:9009 yandex/clickhouse-server
-
查看镜像
[root@ly-A2 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d00724297352 yandex/clickhouse-server "/entrypoint.sh" 9 seconds ago Up 8 seconds 0.0.0.0:8123->8123/tcp, 0.0.0.0:9000->9000/tcp, 0.0.0.0:9009->9009/tcp ch-server
-
进入Clickhouse容器
docker exec -it d00724297352 /bin/bash
-
需要注意的是, 默认的容器是一个依赖包不完整的ubuntu虚拟机
-
所以我们需要安装vim
apt-get update apt-get install vim -y
-
进入clickhouse-server目录并查看目录
cd /etc/clickhouse-server # 查看目录 root@d00724297352:/etc/clickhouse-server# ll total 52 drwxr-xr-x 1 root root 4096 May 14 18:29 ./ drwxr-xr-x 1 root root 4096 May 22 08:12 ../ drwxr-xr-x 1 root root 4096 May 14 18:29 config.d/ -rw-r--r-- 1 root root 26466 May 8 19:38 config.xml lrwxrwxrwx 1 root root 41 May 14 18:29 preprocessed -> /var/lib/clickhouse//preprocessed_configs/ drwxr-xr-x 2 root root 4096 May 14 18:29 users.d/ -rw-r--r-- 1 root root 5328 May 8 19:38 users.xml
-
修改clickhouse的用户密码需要在users.xml中配置
-
需要注意的是: 密码必须为加密过的形式, 否则会一直连不上。
-
我们这次采用SHA256的方式加密
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "你的密码"; echo -n "你的密码" | sha256sum | tr -d '-'
-
执行以上命令后会在命令行打印密码明文和密码密文, 如下
A940922h dd2cef99d7122cd3e2455491f79b567400ce238b7eca309f73e089670df70eb6
-
-
vim users.xml修改用户密码
- 将55行的 替换为 <password_sha256_hex> 密码密文 </password_sha256_hex>
- 注销 第68行
-
不需要重启即可登录
clickhouse-client -h 127.0.0.1 -d default -m -u default --password '你的密码' # 登录成功 d00724297352 :) show databases; SHOW DATABASES ┌─name───────────────────────────┐ │ _temporary_and_external_tables │ │ default │ │ system │ └────────────────────────────────┘ 3 rows in set. Elapsed: 0.002 sec. :set number
-
-
1.使用
docker ps --format "table {{.Names}} ------> {{.Ports}}" | grep minio
docker ps --format "table {{.Names}} ------> {{.Ports}}" | grep ch-server
docker ps --format "table {{.Names}} ------> {{.Ports}}" | grep portainerUI
Docker容器进程有两种运行模式。
后台模式就是在后台运行,不会让当前进程卡主,你可以做其他事情,而前台模式会导致当前卡住,并输出日志至当前控制台。
Foreground 前台模式(默认)
docker run ...
或
docker run -d=false ...
注意,只有在前台模式下,才有必要设置-it命令选项,为容器设置伪TTY。
Detached 后台模式
docker run -d ...
或
docker run -d=true ...
foreground容器,一般用在开发调试过程中短期运行,而上线多用Detached 模式。
注意,只要有-d命令选项,就没有-it命令选项。
————————————————
版权声明:本文为CSDN博主「云川之下」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_45406092/article/details/119086550
mkdir -p /app/cloud/clickhouse/conf
docker cp cdh-server:/etc/clickhouse-server/config.xml /app/cloud/clickhouse/conf/config.xml
docker cp cdh-server:/etc/clickhouse-server/users.xml /app/cloud/clickhouse/conf/users.xml
docker cp clickhouse-server:/etc/clickhouse-server/config.xml /app/cloud/clickhouse/conf/config.xml
docker cp clickhouse-server:/etc/clickhouse-server/users.xml /app/cloud/clickhouse/conf/users.xml
docker run -d --name=clickhouse-server \
-p 8123:8123 -p 9009:9009 -p 9090:9000 \
--ulimit nofile=262144:262144 \
-v /app/cloud/clickhouse/data:/var/lib/clickhouse:rw \
-v /app/cloud/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml \
-v /app/cloud/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml \
-v /app/cloud/clickhouse/log:/var/log/clickhouse-server:rw \
yandex/clickhouse-server:20.3.5.21
# 首先起一个单机的CH
docker run -d \
--name clickhouse-server \
-p 9000:9000 \
-p 8123:8123 \
-p 9009:9009 \
--ulimit nofile=262144:262144 \
yandex/clickhouse-server
# 将上面单机的CH中的配置文件复制到宿主机的目录中。没有/home/allspark/目录的,请提前创建。
docker cp clickhouse-server:/etc/clickhouse-server/ /home/allspark/
# 停止单机CH
docker stop clickhouse-server
# 删除单机CH
docker rm clickhouse-server
# 起一个CH,这里是将配置、日志、以及数据映射到宿主机
docker run --restart always \
-d \
--name clickhouse-server \
--ulimit nofile=262144:262144 \
--volume=/home/allspark/clickhouse/:/var/lib/clickhouse/ \
--volume=/home/allspark/clickhouse-server/:/etc/clickhouse-server/ \
--volume=/home/allspark/log/clickhouse-server/:/var/log/clickhouse-server/ \
-p 9000:9000 \
-p 8123:8123 \
-p 9009:9009 \
yandex/clickhouse-server
# 转到以下目录
cd /home/allspark/
# 复制配置文件一份,因为一台机器上面需要起两个节点
cp -R clickhouse-server/ clickhouse-server2/
# 这里名字,日志、数据、配置都在不同的目录,端口也加1
docker run --restart always \
-d \
--name clickhouse-server2 \
--ulimit nofile=262144:262144 \
--volume=/home/allspark/clickhouse2/:/var/lib/clickhouse/ \
--volume=/home/allspark/clickhouse-server2/:/etc/clickhouse-server/ \
--volume=/home/allspark/log/clickhouse-server2/:/var/log/clickhouse-server/ \
-p 9001:9000 \
-p 8124:8123 \
-p 9010:9009 \
yandex/clickhouse-server
# 起一个zookeeper,CH的集群分布式依赖与zookeeper
docker run --restart=always \
--name zookeeper -p 2181:2181 \
-v /home/allspark/zookeeper/conf/:/apache-zookeeper-3.5.6-bin/conf/ \
-v /home/allspark/zookeeper/data/:/data \
-v /home/allspark/zookeeper/datalog/:/datalog -v /home/allspark/zookeeper/logs/:/logs -d zookeeper
# 起一个ZKUI,便于查看zookeeper中的数据情况。
docker run --name zkui -p 9090:9090 --link zookeeper:zookeeper -e ZK_SERVER="zookeeper:2181" -d registry.cn-hangzhou.aliyuncs.com/wkaca7114/zkui
查看 https://hub.docker.com/r/yandex/clickhouse-server/dockerfile 文件,EXPOSE 9000 8 9009 了三个端口,而宿主机9000端口已被 MinIO 对象存储服务器占用,所以创建容器暴露该端口用9090替换
root@jazz-pc:~# docker ps --format "table {{.Names}} ------> {{.Ports}}" | grep minio
minio ------> 0.0.0.0:9000->9000/tcp
创建临时容器
docker run --rm -d --name=clickhouse-server
--ulimit nofile=262144:262144
-p 8123:8123 -p 9009:9009 -p 9090:9000
yandex/clickhouse-server:20.3.5.21
复制临时容器内配置文件到宿主机
docker cp clickhouse-server:/etc/clickhouse-server/config.xml /app/cloud/clickhouse/conf/config.xml
docker cp clickhouse-server:/etc/clickhouse-server/users.xml /app/cloud/clickhouse/conf/users.xml
停掉临时容器
docker stop clickhouse-server
创建default账号密码
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'
会输出明码和SHA256密码 SEGByR98 211371f5bc54970907173acf6facb35f0acbc17913e1b71b814117667c01d96d
创建root账号密码
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'
会输出明码和SHA256密码 092j3AnV 35542ded44184b1b4b6cd621e052662578025b58b4187176a3ad2b9548c8356e
修改 /app/cloud/clickhouse/conf/users.xml
把default账号设为只读权限,并设置密码 yandex-->users-->default-->profile 节点设为 readonly 注释掉 yandex-->users-->default-->password 节点 新增 yandex-->users-->default-->password_sha256_hex 节点,填入生成的密码
新增root账号
docker run -d --name=clickhouse-server
-p 8123:8123 -p 9009:9009 -p 9090:9000
--ulimit nofile=262144:262144
-v /app/cloud/clickhouse/data:/var/lib/clickhouse:rw
-v /app/cloud/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml
-v /app/cloud/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml
-v /app/cloud/clickhouse/log:/var/log/clickhouse-server:rw
yandex/clickhouse-server:20.3.5.21
————————————————
版权声明:本文为CSDN博主「飘渺Jam」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jianzhang11/article/details/105445855
2.docker内使用apt-get update时报Temporary failure resolving 'security.ubuntu.com错的解决方法
经常构建docker 镜像的时候,在镜像Build时需要经常软件的安装或更新时,运行apt-get update 或者apt-get install 时出现Temporary failure resolving 'security.ubuntu.com'报错时,虽然/etc/resolv.conf已经配置了dns,但是仍然报此错误,修改如下可以解决:
加入如下dns
vim /etc/resolv.conf
nameserver 202.96.134.133
nameserver 8.8.8.8
cd /etc/docker
touch daemon.json
然后将如下的内容放入daemon.json里面
{
"dns": ["8.8.8.8", "114.114.114.114"]
}
重启docker
systemctl restart docker
3.git diff
3.1 git tag差异化
PC-V1.10.3
git tag -a v1.10.3 -m "PC版本V1.10.3和小程序版本V1.0.35发布!"
git tag -d v1.10.3
git tag -a v1.4 -m 'version 1.4'
github clone 指定的tag
git clone --branch [tag] [git地址]
已有仓库切换 tag
git checkout [tag]
git clone --branch [tag] [git地址]
v1.0.0
v1.10.3
例如想编辑 v1.0的tag 代码,那么可以选择如下操作
git checkout -b new_branch v1.0
git checkout -b [分支名称] [tag标签名称]
git checkout -b new_branch v1.0
比较两个tag的区别有以下几种方式:
例如两个tag分别为v1.0、 v2.0
1. git log v2.0 ^v1.0
查看v2.0上有,而v1.0上没有的部分;
2. git log v1.0..v2.0
查看v2.0上比v1.0多的部分;
3. git log v1.0...v2.0
只查看版本之间差异;
4. git log --left-right v1.0...v2.0
只查看版本之间差异,显示出每个差异commit所在的版本。
注意 commit 后面的箭头,根据我们在 –left-right v1.0…v2.0 的顺序,左箭头 < 表示是 v1.0 的,右箭头 > 表示是 v2.0的。
————————————————
版权声明:本文为CSDN博主「风筝Lee」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/breakout_alex/article/details/88683014