使用docker安装clickhouse集群

1、简介

        clickhouse 作为大数据场景中,实现快速检索的常用列式存储数据库,采用物理机部署,会在数据量大的场景中,物理机器存储达到阈值需要扩容,会带来比较大的问题,因此,使用docker部署clickhouse集群可以使得运维简单。

2、clickhouse安装
2.1、集群规划

        采用三台节点进行部署,只能实现3个分片1个副本进行部署,部署规划如下:

节点ip描述
node-1192.168.0.66

集群中安装的zookeeper集群,

端口号2181

node-2192.168.0.67

node-3

192.168.0.68
2.2、拉取镜像
docker pull clickhouse/clickhouse-server
 2.3、编写docker-compose文件
services:clickhouse:image: clickhouse/clickhouse-server:latestcontainer_name: clickhousenetwork_mode: hostvolumes:  # 挂载路径- ./clickhouse/data:/var/lib/clickhouse- ./clickhouse/config:/etc/clickhouse-server- ./clickhouse/log:/var/log/clickhouse-serverulimits:    # 文件描述符个数设置,可根据实际情况来nofile:soft: 65536hard: 65536

在当前目录下创建三个挂载目录:

mkdir -p clickhouse/data
mkdir -p clickhouse/config
mkdir -p clickhouse/log
2.4、在config目录下创建配置文件

        config目录下包含两个配置文件:config.xml 和 users.xml

1)、config.xml文件

<?xml version="1.0"?>
<yandex>
<!-- log级别及目录配置 --><logger><level>information</level><log>/var/log/clickhouse-server/clickhouse-server.log</log><errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog> <size>1000M</size><count>10</count></logger>
<!-- 客户端和服务端端口号设置 --><http_port>8123</http_port><tcp_port>9000</tcp_port><interserver_http_port>9009</interserver_http_port>
<!-- 监听ip设置 --><listen_host>0.0.0.0</listen_host><max_connections>4096</max_connections><keep_alive_timeout>3</keep_alive_timeout><max_concurrent_queries>100</max_concurrent_queries><uncompressed_cache_size>8589934592</uncompressed_cache_size><mark_cache_size>5368709120</mark_cache_size>
<!-- 数据保存路径设置 --><path>/var/lib/clickhouse/</path><tmp_path>/var/lib/clickhouse/tmp/</tmp_path><user_files_path>/var/lib/clickhouse/user_files/</user_files_path><users_config>users.xml</users_config><default_profile>default</default_profile><default_database>default</default_database><timezone>Asia/Shanghai</timezone><mlock_executable>false</mlock_executable>
<!-- zk中分布式ddl节点设置,和下面zookeeper配置中的root结合形成整个节点路径:root/path --><distributed_ddl><path>/clickhouse/task_queue/ddl</path></distributed_ddl><remote_servers><test_cluster>  <!-- 集群名称,集群分片副本配置,博主只有三台机器,只能配置3分片1副本 --><shard> <!-- 分片 --><replica><host>192.168.0.66</host><port>9000</port></replica></shard><shard><replica><host>192.168.0.67</host><port>9000</port></replica></shard><shard><replica><host>192.168.0.68</host><port>9000</port></replica></shard></test_cluster></remote_servers>
<!-- zookeeper配置 -->
<zookeeper><node index="1"><host>192.168.0.66</host><port>2181</port></node><node index="2"><host>192.168.0.67</host><port>2181</port></node><node index="3"><host>192.168.0.68</host><port>2181</port></node><session_timeout_ms>30000</session_timeout_ms><operation_timeout_ms>10000</operation_timeout_ms><root>/ck</root>
</zookeeper><macros><cluster>test_cluster</cluster><shard>3</shard><replica>192.168.0.66</replica></macros>
</yandex>

 2)、users.xml

<?xml version="1.0"?>
<yandex><users><default>   <!-- 默认用户名 --><password></password><networks><ip>::/0</ip></networks><profile>default</profile><quota>default</quota></default><test>  <!-- 配置用户名 --><password>default123.com</password>  <!-- 自定义密码 --><networks incl="networks" replace="replace"><ip>::/0</ip></networks><profile>default</profile><quota>default</quota></test></users><profiles><default><max_memory_usage>10000000000</max_memory_usage><use_uncompressed_cache>0</use_uncompressed_cache><load_balancing>random</load_balancing></default></profiles><quotas><default><interval><duration>3600</duration><queries>0</queries><errors>0</errors><result_rows>0</result_rows><read_rows>0</read_rows><execution_time>0</execution_time></interval></default></quotas>
</yandex>
3、启动集群
# 1、在每个节点都执行( 到docker-compose.yml所在的目录下执行)
docker compose up -d
# 2、验证启动成功
docker exec -it clickhouse clickhouse-client
select * from system.clusters;  # 可以查看集群情况
4、总结

        至此,clickhouse集群就搭建完成,中间排了很多坑,这一套配置是100%能搭建成功的。

注:

1)、集群之间防火墙关闭或者放开使用到的端口;

2)、docker使用host网络模式;

3)、使用机器名要将/etc/hosts映射进去

        搭建过程中有任何不懂的地方可以关注: it自学社团 ,后台私信问我。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/80030.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

package-lock.json能否直接删除?

package-lock.json能否直接删除&#xff1f; package-lock.json 生成工具&#xff1a;由 npm 自动生成。 触发条件&#xff1a;当运行 npm install 时&#xff0c;如果不存在 package-lock.json&#xff0c;npm 会创建它&#xff1b;如果已存在&#xff0c;npm 会根据它精确安…

如何在 Windows 命令提示符中创建多个文件夹和多个文件

如何在 Windows 命令提示符中创建多个文件夹和多个文件 虽然大多数用户习惯使用 Windows 图形界面来创建文件夹&#xff0c;但如果你需要一次性创建多个文件夹或文件&#xff0c;如同在类Unix系统中可以使用mkdir和touch命令一样&#xff0c;windows下也有创建目录和文件的对应…

leetcode - 滑动窗口问题集

目录 前言 题1 长度最小的子数组&#xff1a; 思考&#xff1a; 参考代码1&#xff1a; 参考代码2&#xff1a; 题2 无重复字符的最长子串&#xff1a; 思考&#xff1a; 参考代码1&#xff1a; 参考代码2&#xff1a; 题3 最大连续1的个数 III&#xff1a; 思考&am…

Ubuntu20.04下如何源码编译Carla,使用UE4源码开跑,踩坑集合

一、简介 作为一个从事算法研究的人员,无人驾驶仿真一直是比较重要的一部分,但是现在比较常见的算法验证都是在carla这个开源仿真平台上做的,所以我有二次开发carla的需求,今天就来讲讲编译CARLA。 网上的教材很多,但还是推荐大家看官网教程:Linux build - CARLA Simul…

Linux云计算训练营笔记day09(MySQL数据库)

Linux云计算训练营笔记day09&#xff08;MySQL数据库&#xff09; 目录 Linux云计算训练营笔记day09&#xff08;MySQL数据库&#xff09;外键约束数据的导入和导出数据的导出数据的导入 DQL 数据查询语言查指定字段查所有字段where 过滤条件and 和 orin 和 not inbetween...an…

对心理幸福感含义的探索 | 幸福就是一切吗?

注&#xff1a;机翻&#xff0c;未校。 Happiness Is Everything, or Is It? Explorations on the Meaning of Psychological Well-Being 幸福就是一切吗&#xff1f;对心理幸福感含义的探索 Journal of Personality and Social Psychology 1989, Vol. 57, No. 6,1069-1081 …

零基础学Java——第十一章:实战项目 - 微服务入门

第十一章&#xff1a;实战项目 - 微服务入门 随着互联网应用的复杂性不断增加&#xff0c;单体应用&#xff08;Monolithic Application&#xff09;在可扩展性、可维护性、技术栈灵活性等方面逐渐暴露出一些问题。微服务架构&#xff08;Microservices Architecture&#xff…

git 本地提交后修改注释

dos命令行进入目录&#xff0c;idea可以点击Terminal 进入命令行 git commit --amend -m "修改内容"

Python训练打卡Day22

复习日&#xff1a; 1.标准化数据&#xff08;聚类前通常需要标准化&#xff09; scaler StandardScaler() X_scaled scaler.fit_transform(X) StandardScaler() &#xff1a;这部分代码调用了 StandardScaler 类的构造函数。在Python中&#xff0c;当你在类名后面加上括号…

气动排渣煤粉炉专用V型球阀——法兰连接耐磨阀门生产厂家解析-耀圣

气动排渣煤粉炉专用V型球阀——法兰连接耐磨阀门生产厂家解析 副标题&#xff1a;开关灵活无泄漏 标配行程开关/电磁阀/过滤器 一、产品概述&#xff1a;气动排渣煤粉炉专用V型球阀核心优势 作为专业的气动耐磨V型球阀生产厂家&#xff0c;我们针对煤粉炉排渣工况研发的法兰连…

Linux云计算训练营笔记day08(MySQL数据库)

Linux云计算训练营笔记day08&#xff08;MySQL数据库&#xff09; 目录 Linux云计算训练营笔记day08&#xff08;MySQL数据库&#xff09;数据准备修改更新update删除delete数据类型1.整数类型2.浮点数类型(小数)3.字符类型4.日期5.枚举: 表头的值必须在列举的值里选择拷贝表复…

致远OA人事标准模块功能简介【附应用包百度网盘下载地址,官方售价4W】

人事管理应用&#xff0c;围绕岗位配置、招聘管理、员工档案、入转调离、员工自助申报、数据信息管理等人力资源管理关键业务&#xff0c;构建全员可参与的人事工作协同平台&#xff0c;让人事从繁杂琐碎的事务中解脱出来&#xff0c;高质高效工作&#xff0c;让管理层清楚掌握…

数字孪生工厂实战指南:基于Unreal Engine/Omniverse的虚实同步系统开发

引言&#xff1a;工业元宇宙的基石技术 在智能制造2025与工业元宇宙的交汇点&#xff0c;数字孪生技术正重塑传统制造业。本文将手把手指导您构建基于Unreal Engine 5.4与NVIDIA Omniverse的实时数字孪生工厂系统&#xff0c;集成Kafka实现毫秒级虚实同步&#xff0c;最终交付…

【向量模型 + HNSW 参数如何选择】

目录 一、embedding_function&#xff08;向量模型&#xff09; 可选方式 选型建议 二、HNSW 参数选择&#xff08;核心影响搜索速度与准确率&#xff09; 2.1 参数解释和推荐值 2.2 配置模板参考 1、推荐默认配置&#xff08;适合大多数项目&#xff09;&#xff1a; 2…

fpga系列 HDL : Microchip FPGA开发软件 Libero Soc 安装 license申请

启动 注册账号&#xff1a;https://login.microchip.com/申请免费许可&#xff1a;https://www.microchipdirect.com/fpga-software-products C:\Windows\System32>vol驱动器 C 中的卷是 Windows卷的序列号是 ****-****为“D:\Microsemi\License.dat”创建环境变量“LM_LICE…

【C++】解析C++面向对象三要素:封装、继承与多态实现机制

解析C面向对象三要素&#xff1a;封装、继承与多态实现机制 1. 面向对象设计基石2. 封装&#xff1a;数据守卫者2.1 访问控制实现2.2 封装优势 3. 继承&#xff1a;代码复用艺术3.1 继承的核心作用3.2 继承类型对比3.3 典型应用场景3.4 构造函数与析构函数处理3.4.1 构造顺序控…

Python并发编程:开启性能优化的大门(7/10)

1.引言 在当今数字化时代&#xff0c;Python 已成为编程领域中一颗璀璨的明星&#xff0c;占据着编程语言排行榜的榜首。无论是数据科学、人工智能&#xff0c;还是 Web 开发、自动化脚本编写&#xff0c;Python 都以其简洁的语法、丰富的库和强大的功能&#xff0c;赢得了广大…

数学复习笔记 10

前言 我觉得数学的高分乃至满分属于那些&#xff0c;聪明&#xff0c;坚韧&#xff0c;勇敢&#xff0c;细致的人。我非常惭愧自己不是这样的人&#xff0c;我在生活中发现了这样的同学&#xff0c;和他们交流的时候我常常感到汗流浃背&#xff0c;因为他们非常扎实的基础知识…

深入理解 Webpack 核心机制与编译流程

&#x1f916; 作者简介&#xff1a;水煮白菜王&#xff0c;一位前端劝退师 &#x1f47b; &#x1f440; 文章专栏&#xff1a; 前端专栏 &#xff0c;记录一下平时在博客写作中&#xff0c;总结出的一些开发技巧和知识归纳总结✍。 感谢支持&#x1f495;&#x1f495;&#…

概率相关问题

问题汇总 1. 贝叶斯定理&#xff08;贝叶斯公式和全概率公式&#xff09;2. 概率题2.1 随机发生器的概率为1/2 1. 贝叶斯定理&#xff08;贝叶斯公式和全概率公式&#xff09; 定义&#xff1a;在信息和条件有限的情况下&#xff0c;基于过去的数据&#xff0c;通过动态调整的…