Docker 部署clickhouse-server及添加用户配置密码

前言

  • 由于现在居家办公测试环境连接公司的clickhouse需要vpn连接太麻烦且速度很慢,于是乎在测试机自己搭建clickhouse,废话不多说直接开始教程

容器clickhouse-server配置

  • 拉取clickhouse-server镜像:docker pull yandex/clickhouse-server

  • 创建配置目录

    • 创建clickhouse数据目录:mkdir -p /data/clickhouse/data/

    • 创建clickhouse config目录:mkdir -p /data/clickhouse/config/

    • 创建clickhouse log目录:mkdir -p /data/clickhouse/log/

  • 启动clickhouse server临时容器:

docker run -d \
--name clickhouse-server \
--ulimit nofile=262144:262144 \
-p 8123:8123 \
-p 9000:9000 \
-p 9009:9009 \
yandex/clickhouse-server:latest
  • 将容器内config.xml拷贝至主机config目录
docker cp clickhouse-server:/etc/clickhouse-server/config.xml /data/clickhouse/config/config.xml
  • 将容器内users.xml拷贝至主机config目录
docker cp clickhouse-server:/etc/clickhouse-server/users.xml /data/clickhouse/config/users.xml
  • default用户配置
# 生成sha256sum密码

# 随机生成密码
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'
7I2bHFLv
a39ddb33bf9e57aaa208b0dd100c14f663125ccca7a356ab69fce7ed8ec97764

# 生成指定密码123456
echo "123456"; echo -n "123456" | sha256sum | tr -d '-'
123456
8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

# 打开users.xml文件 default用户设置密码为123456
vim /data/clickhouse/config/users.xml

# 将文件中<password></password>改为以下内容
<password_sha256_hex>8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92</password_sha256_hex>

# 将default用户改为只读
# 将<profile>default</profile>改为以下内容
<profile>readonly</profile>
  • 新增root用户
# 生成root用户密码123456
echo "123456"; echo -n "123456" | sha256sum | tr -d '-'
123456
8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

# 打开users.xml文件 
vim /data/clickhouse/config/users.xml
# 在</default>下一行添加以下内容
<root>
		<password_sha256_hex>8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92</password_sha256_hex>
		<networks incl="networks" replace="replace">
			<ip>::/0</ip>
		</networks>
		<profile>default</profile>
		<quota>default</quota>
</root>
  • 删除临时容器:docker rm -f clickhouse-server

部署clickhouse-server

docker run -d \
--name clickhouse-server \
--ulimit nofile=262144:262144 \
-p 8123:8123 \
-p 9000:9000 \
-p 9009:9009 \
-v /data/clickhouse/data:/var/lib/clickhouse:rw \
-v /data/clickhouse/log:/var/log/clickhouse-server:rw \
-v /data/clickhouse/config/config.xml:/etc/clickhouse-server/config.xml \
-v /data/clickhouse/config/users.xml:/etc/clickhouse-server/users.xml \
yandex/clickhouse-server:latest

DBeaver连接clickhouse

https://loganjin.cn/cdn/article/mac-frpc/dbeaver-clickhouse.png

结语

  • 以上就是docker 部署clickhouse-server全过程,希望能帮到一些小伙伴。
  • clickhouse可以使用dbeaver可视化连接
  • 如部署或者其他问题欢迎去我的博客(www.loganjin.cn)留言或者微信公众号(Python技术交流圈)留言交流哦。
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于部署 Otter-Server,可以使用 Docker 镜像进行部署。具体步骤如下: 1. 下载 Otter-ServerDocker 镜像: ``` docker pull alibaba/otter ``` 2. 创建并启动容器: ``` docker run -d --name otter-server -p 8080:8080 -p 1099:1099 -p 2088:2088 \ -e JAVA_OPTS="-Dfile.encoding=UTF-8 -server -Xmx2g -Xms2g -Xmn512m -Xss256k -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/heapdump" \ -v /yourpath/otter/data:/data -v /yourpath/otter/logs:/logs \ alibaba/otter ``` 其中,`/yourpath/otter/data` 和 `/yourpath/otter/logs` 是宿主机器上存储 Otter-Server 数据和日志的路径,可以自行修改。 3. 进入容器内部: ``` docker exec -it otter-server /bin/bash ``` 4. 修改 Otter-Server 配置文件: Otter-Server配置文件位于 `/data/otter/conf/otter.properties`,可以使用 `vi` 命令进行编辑。 在配置文件中,需要添加以下配置: ``` otter.amqp.addresses=amqp://guest:guest@<your-rabbitmq-host>:5672 otter.clickhouse.addresses=<your-clickhouse-host>:8123 ``` 其中,`<your-rabbitmq-host>` 和 `<your-clickhouse-host>` 分别为 RabbitMQ 和 ClickHouse 的地址。 5. 重启 Otter-Server: ``` /data/otter/bin/stop.sh /data/otter/bin/startup.sh ``` 至此,Otter-Server部署完成。 关于消费 RabbitMQ 并写入 ClickHouse 的问题,需要在 Otter-Server配置 Canal,具体步骤如下: 1. 在 Otter-Server 配置文件中添加 Canal 配置: ``` otter.canal.zookeeper.cluster=<your-zookeeper-host>:2181 ``` 其中,`<your-zookeeper-host>` 为 ZooKeeper 的地址。 2. 在 Otter-Server 中创建 Canal 实例: 使用 `otter-admin` 工具创建 Canal 实例,具体命令如下: ``` cd /data/otter/otter-admin/bin ./otter.sh create --type canal --mode memory --zoohost <your-zookeeper-host>:2181 --canalId <your-canal-id> --destination <your-destination> ``` 其中,`<your-canal-id>` 和 `<your-destination>` 分别为 Canal 实例的 ID 和名称。 3. 在 Otter-Server配置 Canal 映射关系: 使用 `otter-admin` 工具配置 Canal 映射关系,具体命令如下: ``` cd /data/otter/otter-admin/bin ./otter.sh canal --c <your-canal-id> --s <your-rabbitmq-exchange> --d <your-clickhouse-table> --m <your-field-mapping> ``` 其中,`<your-rabbitmq-exchange>` 和 `<your-clickhouse-table>` 分别为 RabbitMQ 的 Exchange 和 ClickHouse 的表名,`<your-field-mapping>` 为字段映射配置。 至此,Otter-Server 就可以消费 RabbitMQ 并将数据写入 ClickHouse 中了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值