当前位置: 首页 > news >正文

clickhouse高可用可拓展部署

clickhouse高可用&可拓展部署

1.部署架构

1.1高可用架构

1.2硬件资源

部署服务

节点名称

节点ip

核数

内存

磁盘

zookeeper

zk-01

/

4c

8G

100G

zk-02

/

4c

8G

100G

zk-03

/

4c

8G

100G

clikehouse

ck-01

/

32c

128G

2T

ck-02

/

32c

128G

2T

ck-03

/

32c

128G

2T

ck-04

/

32c

128G

2T

1.3扩容

1.3.1节点扩容

新增一个分片,2个副本,扩容后的架构图如下:

1.3.2资源扩容

Cpu和内存直接在云平台上扩容,磁盘使用lvm扩容数据目录大小

1.4 混合部署

1.5 负载均衡&读写分离

采用chproxy来做负载均衡和读写分离,具体架构如下:

2.安装部署

2.1部署规划

采用1.4混合部署方式,3台虚拟机,每个节点部署2个clickhouse实例和一个zookeeper。另外增加一台虚拟机用来部署chproxy,用做负载均衡和读写分离。具体部署规划如下:

部署服务

实例名称

节点ip

端口

备注

zookeeper

zk-01

10.9.135.37

2181

zk-02

10.9.135.133

2181

zk-03

10.9.135.36

2181

clikehouse

ck-01

10.9.135.37

8123

分片1副本1

ck-02

10.9.135.133

8123

分片2副本1

ck-03

10.9.135.36

8123

分片3副本1

ck-04

10.9.135.133

8223

分片1副本2

ck-05

10.9.135.36

8223

分片2副本2

ck-06

10.9.135.37

8223

分片3副本2

chproxy

chproxy

10.9.135.60

9090

2.2准备工作

  1. --修改hostname  
  2. sudo hostnamectl set-hostname ck01  
  3. sudo hostnamectl set-hostname ck02  
  4. sudo hostnamectl set-hostname ck03  
  5.   
  6. --hosts配置  
  7. 10.9.135.37 ck01  
  8. 10.9.135.133 ck02  
  9. 10.9.135.36 ck03  
  10.   
  11. --关闭防火墙  
  12. # 1.关闭防火墙   
  13. service iptables stop   
  14. chkconfig iptables off  
  15. chkconfig ip6tables off  
  16.    
  17. # 2.关闭selinux  
  18. vi /etc/sysconfig/selinux  
  19. 修改内容:【SELINUX=disabled】  
  20.       
  21. --免密登录  
  22. 1、在原机器生成RSA密钥和公钥  
  23. ssh-keygen -q -t rsa  -N "" -f  ~/.ssh/id_rsa  
  24. 2、然后将~/.ssh/id_rsa.pub内容粘贴到目标机器的~/.ssh/authorized_keys  

2.3jdk安装部署

  1. --安装包解压并修改配置文件:  
  2. export JAVA_HOME=/usr/java/jdk1.8  
  3. export JRE_HOME=$JAVA_HOME/jre  
  4. export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH  
  5. export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 

2.4zookeeper安装部署

  1. --安装zk  
  2. wget http://archive.apache.org/dist/zookeeper/zookeeper-3.6.0/apache-zookeeper-3.6.0-bin.tar.gz  
  3. mv /data/apache-zookeeper-3.6.0-bin /usr/local/zookeeper  
  4. --创建目录:  
  5. mkdir -p /data/zookeeper/data  
  6. mkdir -p /data/zookeeper/logs  
  7. 机器1指定节点号1,以此类推:  
  8. echo '1' > /data/zookeeper/data/myid  
  9. 修改zoo.cfg文件,内容如下:  
  10. --------------------------------------------------  
  11. # 基本时间单位, 毫秒值  
  12. tickTime=2000  
  13.   
  14. # tickTime的倍数,follower和leader之间的最长心跳时间  
  15. initLimit=30000  
  16.   
  17. # tickTime的倍数,leader和follower之间发送消息, 请求和应答的最大时间  
  18. syncLimit=10  
  19. # 数据目录  
  20. dataDir=/data/zookeeper/data  
  21.   
  22. # 日志目录,如果没设定,默认和dataDir相同  
  23. dataLogDir=/data/zookeeper/logs  
  24.   
  25. # 监听client连接的端口号  
  26. clientPort=2181  
  27.   
  28. # zookeeper最大连接  
  29. maxClientCnxns=2000  
  30.   
  31. # 最大的会话超时时间  
  32. maxSessionTimeout=60000000  
  33.   
  34. # 保留的文件数目,默认3个  
  35. autopurge.snapRetainCount=10  
  36.   
  37. # 自动清理snapshot和事务日志,清理频率,单位是小时  
  38. autopurge.purgeInterval=1  
  39.   
  40. # 等待处理的最大请求数量  
  41. globalOutstandingLimit=200  
  42.   
  43. # 日志文件大小Kb,切换快照生成日志  
  44. preAllocSize=131072  
  45.   
  46. #两次事务快照之间可执行事务的次数,默认的配置值为100000  
  47. snapCount=3000000  
  48.   
  49. # leader是否接受client请求,默认为yes即leader可以接受client的连接,当节点数为>3

相关文章:

clickhouse高可用可拓展部署

clickhouse高可用&可拓展部署 1.部署架构 1.1高可用架构 1.2硬件资源 部署服务 节点名称 节点ip 核数 内存 磁盘 zookeeper zk-01 / 4c 8G 100G zk-02 / 4c 8G 100G zk-03 / 4c 8G 100G clikehouse ck-01 / 32c 128G 2T ck-02 / 32c 128G 2T ck-03 / 32c 128G 2T ck-04 /…...

QT中QDomDocument读写XML文件

一、XML文件 <?xml version"1.0" encoding"UTF-8"?> <Begin><Type name"zhangsan"><sex>boy</sex><school>Chengdu</school><age>18</age><special>handsome</special>&l…...

sql盲注

文章目录 布尔盲注时间盲注 布尔盲注 介绍&#xff1a;在网页只给你两种回显的时候是用&#xff0c;类似于布尔类型的数据&#xff0c;1表示正确&#xff0c;0表示错误。 特点&#xff1a;思路简单&#xff0c;步骤繁琐且麻烦。 核心函数&#xff1a; length()函数substr()函…...

星网安全产品线成立 引领卫星互联网解决方案创新

2024年6月12日&#xff0c;盛邦安全&#xff08;688651&#xff09;成立星网安全产品线&#xff0c;这是公司宣布全面进入以场景化安全、网络空间地图和卫星互联网安全三大核心能力驱动的战略2.0时代业务落地的重要举措。 卫星互联网技术的快速发展&#xff0c;正将其塑造为全球…...

Adam自适应动量优化算法

Adam&#xff08;Adaptive Moment Estimation&#xff09;是一种结合了动量法和自适应学习率思想的优化算法&#xff0c;特别适用于训练神经网络和深度学习模型。以下是对Adam调整学习率的详细介绍及具体例子。 一、Adam调整学习率介绍 自适应学习率&#xff1a; Adam算法的核…...

Mac OS系统中Beyond Compare 4破解方式

文章出处 https://blog.csdn.net/qq_42418042/article/details/137544113 前言 记录实操过程&#xff0c;以防以后找不到了~ 实际原理是启动时删除文件&#xff0c;实现无限试用 实操过程 下载安装包 官网链接 https://www.scootersoftware.com/download.php 解压、移动到应…...

6000元最好的家用投影仪:当贝X5S Pro六千元配置最高画质最强

数码家电品牌发展迅速&#xff0c;投影同样也是一种更新迭代较快的产品类型&#xff0c;有时候去年还比较火的产品&#xff0c;今年就会被别的产品取代&#xff0c;就比如之前灯泡投影一直被认为是好产品的代表&#xff0c;但是现在国产激光投影的销量反而更高。一般来说6000元…...

#### golang中【堆】的使用及底层 ####

声明&#xff0c;本文部分内容摘自&#xff1a; Go: 深入理解堆实现及应用-腾讯云开发者社区-腾讯云 数组实现堆 | WXue 堆&#xff08;Heap&#xff09;是实现优先队列的数据结构&#xff0c;Go提供了接口和方法来操作堆。 应用 package mainimport ("container/heap&q…...

OpenAI Gym Atari on Windows

题意&#xff1a;在Windows系统上使用OpenAI Gym的Atari环境 问题背景&#xff1a; Im having issues installing OpenAI Gym Atari environment on Windows 10. I have successfully installed and used OpenAI Gym already on the same system. It keeps tripping up when t…...

Java进阶----接口interface

接口 接口概述 接口是一种规范&#xff0c;使用接口就代表着要在程序中制定规范. 制定规范可以给不同类型的事物定义功能&#xff0c;例如&#xff1a; 利用接口&#xff0c;给飞机、小鸟制定飞行规范&#xff0c;让其都具备飞行的功能&#xff1b;利用接口&#xff0c;给鼠…...

【网络协议】ISIS

ISIS IS-IS&#xff08;Intermediate System to Intermediate System&#xff0c;中间系统到中间系统&#xff09;协议是一种用于在自治系统&#xff08;AS&#xff09;内部进行路由选择的链路状态路由协议。它最初是为OSI&#xff08;开放系统互连&#xff09;网络设计的&…...

一.4 处理器读并解释储存在内存中的指令

此刻&#xff0c;hello.c源程序已经被编译系统翻译成了可执行目标文件hello&#xff0c;并被存放在硬盘上。要想在Unix系统上运行该可执行文件&#xff0c;我们将它的文件名输入到称为shell的应用程序中&#xff1a; linux>./hello hello, world linux> shell是一个命令…...

【Android面试八股文】Android性能优化面试题:怎样检测函数执行是否卡顿?

文章目录 卡顿一、可重现的卡顿二、不可重现的卡顿第一种方案: 基于 Looper 的监控方法第二种方案:基于 Choreographer 的监控方法第三种方案:字节码插桩方式第四种方案: 使用 JVMTI 监听函数进入与退出总结相关大厂的方案ArgusAPMBlockCanaryQQ空间卡慢组件Matrix微信广研参…...

C语言7 控制语句

目录 1. 条件语句 if 语句 if-else 语句 if-else if-else 语句 switch 语句 2. 循环语句 for 循环 while 循环 do-while 循环 3. 跳转语句 break 语句 continue 语句 return 语句 goto 语句 1. 条件语句 if 语句 if语句根据给定条件的真或假来决定是否执行某段…...

go mod 依赖管理补充2

依赖包的版本问题&#xff0c;别的开发语言有没有类似的问题&#xff1f;是怎么解决的&#xff1f; 举例&#xff1a;java java的依赖包的版本问题&#xff0c;通过Maven模块来操作&#xff0c;可以指定依赖包版本号&#xff0c;如下&#xff1a; go.mod 文件 go.mod文件是G…...

【Git】取消追踪多个文件或目录

文章目录 场景方法1. 添加到 .gitignore2. 从暂存区移除 示例1. 编辑 .gitignore 文件2. 从暂存区移除文件或目录 场景 清理&#xff1a;不再希望某些文件被 Git 追踪。配置忽略文件&#xff1a;通常配合 .gitignore 文件使用&#xff0c;以便以后这些文件不会被重新添加到索引…...

【Linux详解】进程等待 | 非阻塞轮询

引入&#xff1a; 为什么&#xff1f;是什么&#xff1f;怎么办 是什么&#xff1f; 进程等待是指父进程暂停自己的执行&#xff0c;直到某个特定的子进程结束或发生某些特定的事件。 为什么&#xff1f; 僵尸进程刀枪不入&#xff0c;不可被杀死&#xff0c;存在内存泄露…...

聊一下Maven打包的问题(jar要发布)

文章目录 一、问题和现象二、解决方法&#xff08;1&#xff09;方法一、maven-jar-pluginmaven-dependency-plugin&#xff08;2&#xff09;方法二、maven-assembly-plugin 一、问题和现象 现在的开发一直都是用spring boot&#xff0c;突然有一天&#xff0c;要自己开发一个…...

JavaScript中,正则表达式所涉及的api,解析、实例和总结

JS中正则的api包括以下&#xff1a; String#searchString#splitString#matchString#replaceRegExp#testRegExp#exec 1. String#search 查找输入串中第一个匹配正则的index&#xff0c;如果没有匹配的则返回-1。g修饰符对结果无影响 var string "abbbcbc"; var r…...

【计算机】同步/异步

同步/异步 在计算机科学和编程中&#xff0c;“同步”&#xff08;Synchronization&#xff09;是一种机制&#xff0c;用于协调不同进程或线程之间的操作&#xff0c;以避免竞态条件&#xff08;race conditions&#xff09;、死锁&#xff08;deadlocks&#xff09;和其他并…...

Phi-4-mini-reasoning科研助手应用:论文定理推导辅助与反例生成案例

Phi-4-mini-reasoning科研助手应用&#xff1a;论文定理推导辅助与反例生成案例 1. 模型简介与部署验证 Phi-4-mini-reasoning 是一个专注于数学推理的轻量级开源模型&#xff0c;基于高质量合成数据训练而成。作为Phi-4模型家族成员&#xff0c;它特别擅长处理需要密集逻辑推…...

OpenAPI状态机建模指南:用有限状态机设计RESTful API的终极方法 [特殊字符]

OpenAPI状态机建模指南&#xff1a;用有限状态机设计RESTful API的终极方法 &#x1f680; 【免费下载链接】OpenAPI-Specification The OpenAPI Specification Repository 项目地址: https://gitcode.com/gh_mirrors/op/OpenAPI-Specification OpenAPI Specification 是…...

GLM-4.1V-9B-Base实战案例:智能客服知识库图片问答模块集成方案

GLM-4.1V-9B-Base实战案例&#xff1a;智能客服知识库图片问答模块集成方案 1. 项目背景与需求分析 在智能客服系统中&#xff0c;用户经常需要上传产品图片、使用场景截图或问题示意图进行咨询。传统客服系统只能依赖人工处理这类图片咨询&#xff0c;效率低下且成本高昂。G…...

如何用ScanNetv2复现Stratified和SWIN3D论文实验?完整数据集配置指南

如何用ScanNetv2复现Stratified和SWIN3D论文实验&#xff1f;完整数据集配置指南 在3D点云分割领域&#xff0c;ScanNetv2数据集已成为评估算法性能的黄金标准。对于想要复现Stratified Transformer或SWIN3D这类前沿论文的研究者来说&#xff0c;数据集的正确配置往往是第一个…...

Neo.mjs性能优化:如何实现每秒40,000+增量更新的秘密

Neo.mjs性能优化&#xff1a;如何实现每秒40,000增量更新的秘密 【免费下载链接】neo The application worker driven frontend framework 项目地址: https://gitcode.com/gh_mirrors/neo/neo Neo.mjs作为一款由应用工作器驱动的前端框架&#xff0c;以其卓越的性能表现…...

越擎科技发布机器人离线编程软件应用白皮书,阐述机器人装配工艺规划、离线编程与虚拟调试方案的原理及优势

摘要&#xff1a;越擎科技针对机器人复杂产品装配的应用场景&#xff0c;打造全国产的机器人离线编程软件iRobotCAM&#xff0c;可以快速的提取装配约束关系并进行装配工艺规划&#xff0c;并编写机器人程序及快速仿真&#xff0c;提升装配过程的精度及编程效率。 根据艾瑞咨询…...

LPDDR4X引脚功能详解:从CK到DQS,这些信号线你都用对了吗?

LPDDR4X引脚功能深度解析&#xff1a;信号完整性设计与实战避坑指南 在移动设备和高性能嵌入式系统中&#xff0c;LPDDR4X内存已成为主流选择。但许多硬件工程师在实际设计中常陷入"信号连通即可"的误区&#xff0c;导致系统稳定性问题频发。本文将带您深入理解每个…...

PaddlePaddle GPU环境搭建:从驱动到深度学习库的完整指南

1. 为什么需要GPU加速深度学习&#xff1f; 如果你刚接触深度学习&#xff0c;可能会疑惑为什么大家都在讨论GPU。简单来说&#xff0c;GPU就像是个超级计算器&#xff0c;能同时处理大量简单计算。想象你要算100万道加减法题&#xff0c;用普通计算器&#xff08;CPU&#xf…...

2026降AI工具实测:性价比/效果/安全选品指南

花了整整一周时间把市面5款主流降AI工具全维度测了一遍&#xff0c;从处理效果、定价、安全性三个核心维度做了横向对比。结论放在最前面&#xff1a;综合实力最强、毕业生首选的是SpeedAI科研小助手&#xff0c;性价比拉满&#xff0c;新手还能免费试用&#xff0c;完全适配绝…...

告别图库!用LiuJuan Z-Image为文章博客自动生成配图(保姆级教程)

告别图库&#xff01;用LiuJuan Z-Image为文章博客自动生成配图&#xff08;保姆级教程&#xff09; 1. 为什么你需要这个工具&#xff1f; 作为一名内容创作者&#xff0c;我深知找配图的痛苦。记得上周为了给一篇技术文章配图&#xff0c;我花了整整40分钟在图库里翻找&…...