clickhouse高可用可拓展部署

news2024/11/29 2:47:18

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

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

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

相关文章

设计模式之模版方法

模版方法介绍 模版方法(Template Method)模式是一种行为型设计模式,它定义了一个操作(模板方法)的基本组合与控制流程,将一些步骤(抽象方法)推迟到子类中,使得子类可以在…

LeetCode热题100刷题8:54. 螺旋矩阵、73. 矩阵置零、48. 旋转图像

54. 螺旋矩阵 class Solution { public:vector<int> spiralOrder(vector<vector<int>>& matrix) {vector<int> vec;if(matrix.empty())return vec;int left0;int right matrix[0].size()-1;int up0;int down matrix.size()-1;while(true) {for(i…

【TB作品】脉搏测量,ATMEGA8单片机,Proteus仿真,ATmega8控制脉搏测量与显示系统

硬件组成&#xff1a; LCD1602脉搏测量电路&#xff08;带灯&#xff09;蜂鸣器报警按键设置AT24C02 功能&#xff1a; &#xff08;1&#xff09;LCD1602主页显示脉搏、报警上限、报警下限&#xff1b; &#xff08;2&#xff09;五个按键&#xff1a;按键1&#xff1a;切换设…

axios的使用,处理请求和响应,axios拦截器

1、axios官网 https://www.axios-http.cn/docs/interceptors 2、安装 npm install axios 3、在onMouunted钩子函数中使用axios来发送请求&#xff0c;接受响应 4.出现的问题&#xff1a; &#xff08;1&#xff09; 但是如果发送请求请求时间过长&#xff0c;回出现请求待处…

RK3568 GPU介绍及使用

一、RK3568简介 RK3568四核64位Cortex-A55 处理器&#xff0c;采用全新ARM v8.2-A架构&#xff0c;主频最高可达2.0GHz&#xff0c;效能有大幅提升&#xff1b;采用22nm先进工艺&#xff0c;具有低功耗高性能的特点RK3568集成了双核心架构 GPU&#xff0c;高性能VPU以及高效能…

YOLOv8_obb数据集可视化[旋转目标检测实践篇]

先贴代码,周末再补充解析。 这个篇章主要是对标注好的标签进行可视化,虽然比较简单,但是可以从可视化代码中学习到YOLOv8是如何对标签进行解析的。 import cv2 import numpy as np import os import randomdef read_obb_labels(label_file_path):with open(label_file_path,…

Linux内存管理--系列文章柒——硬件架构

一、引子 之前文章讲解的是系统的虚拟内存&#xff0c;本章讲述这些硬件的架构和系统怎样统一管理这些硬件的。 二、物理内存模型 物理内存模型描述了计算机系统中的物理内存如何由操作系统组织和管理。它定义了物理内存如何划分为单元&#xff0c;如何寻址这些单元以及如何…

yolov8实战——yolov8TensorRT部署(python推理)(保姆教学)

yolov8实战——yolov8TensorRT部署&#xff08;python推理&#xff09;&#xff08;保姆教学&#xff09; 一 、准备好代码和环境安装TensorRt下载代码和安装环境 部署和推理构建ONNX构建engine无torch推理torch推理 最近用到yolov8&#xff0c;但是寻找了一圈才找到了yolov8最…

Java 自定义集合常量

文章目录 Java 自定义集合常量一、普通方法自定义集合常量信息1、定义 Map 集合信息&#xff08;1&#xff09;方法一&#xff1a;使用静态代码块&#xff08;2&#xff09;方法二&#xff1a;简单定义 Map 常量 2、定义 List 集合信息3、定义 Set 集合信息 二、通过 Collectio…

Node.js-path 模块

path 模块 path 模块提供了 操作路径 的功能&#xff0c;如下是几个较为常用的几个 API&#xff1a; 代码实例&#xff1a; const path require(path);//获取路径分隔符 console.log(path.sep);//拼接绝对路径 console.log(path.resolve(__dirname, test));//解析路径 let pa…

一文学会 BootStrap

文章目录 认识BootStrap历史优缺点使用注意安装CDN源码引入包管理器 媒体查询屏幕尺寸的分割点&#xff08;Breakpoints&#xff09;响应式容器网格系统基本使用底层实现.container.row.col、.col-份数 网格嵌套自动布局列 Auto-layout响应式类 Responsive Class 响应式工具类-…

前端根据目录生成模块化路由routes

根据约定大于配置的逻辑&#xff0c;如果目录结构约定俗成&#xff0c;前端是可以根据目录结构动态生成路由所需要的 route 结构的&#xff0c;这个过程是要在编译时 进行&#xff0c;生成需要的代码&#xff0c;保证运行时的代码正确即可 主流的打包工具都有对应的方法读取文…

Qt(二)弹窗类 颜色对话框 字体对话框 资源文件

文章目录 一、QDebug类和QMessagebox类&#xff08;一&#xff09;QDebug类&#xff1a;打印调试类&#xff08;二&#xff09;QMessagebox类&#xff1a;弹窗类2. 修改组件图标&#xff08;1&#xff09;通过ui界面&#xff08;2&#xff09;通过QIcon的方式&#xff08;3&…

SpringBoot新手快速入门系列教程五:基于JPA的一个Mysql简单读写例子

现在我们来做一个简单的读写Mysql的项目 1&#xff0c;先新建一个项目&#xff0c;我们叫它“HelloJPA”并且添加依赖 2&#xff0c;引入以下依赖&#xff1a; Spring Boot DevTools (可选&#xff0c;但推荐&#xff0c;用于开发时热部署)Lombok&#xff08;可选&#xff0c…

如何在前端网页实现live2d的动态效果

React如何在前端网页实现live2d的动态效果 业务需求&#xff1a; 因为公司需要做机器人相关的业务&#xff0c;主要是聊天形式的内容&#xff0c;所以需要一个虚拟的卡通形象。而且为了更直观的展示用户和机器人对话的状态&#xff0c;该live2d动画的嘴型需要根据播放的内容来…

aardio —— 今日减bug

打字就减bug 鼠标双击也减bug 看看有多少bug够你减的 使用方法&#xff1a; 1、将资源附件解压缩&#xff0c;里面的文件夹&#xff0c;放到aardio\plugin\plugins 目录 2、aardio 启动插件 → 插件设置 → 选中“今日减bug” → 保存。 3、重启 aardio&#xff0c;等aa…

高效率写文案软件有哪些?5款免费文案生成器值得拥有

在信息洪流奔涌的当下&#xff0c;文案的重要性愈发凸显。对于文案创作者来说&#xff0c;找到能提高效率的软件至关重要&#xff0c;如&#xff1a;市面上有些不错的文案生成器&#xff0c;它们能够为大家自动生成出高质量文案内容&#xff0c;给文案创作者提供了非常大的帮助…

Python和MATLAB微机电健康推导算法和系统模拟优化设计

&#x1f3af;要点 &#x1f3af;惯性测量身体活动特征推导健康状态算法 | &#x1f3af;卷积网络算法学习惯性测量数据估计六自由度姿态 | &#x1f3af;全球导航卫星系统模拟&#xff0c;及惯性测量动态测斜仪算法、动态倾斜算法、融合算法 | &#x1f3af;微机电系统加速度…

vb.netcad二开自学笔记2:认识vs编辑器

认识一下宇宙第一编辑器的界面图标含义还是很重要的&#xff0c;否则都不知道面对的是什么还怎么继续&#xff1f; 一、VS编辑器中常见的图标的含义 变量 长方体&#xff1a;变量 局部变量 两个矩形块&#xff1a;枚举 预定义的枚举 紫色立方体&#xff1a;方法 橙色树状结构…

vs2022安装qt vs tool

1 缘由 由于工作的需要&#xff0c;要在vs2022上安装qt插件进行开发。依次安装qt&#xff0c;vs2022&#xff0c;在vs2022的扩展管理中安装qt vs tool。 2 遇到困难 问题来了&#xff0c;在qt vs tool的设置qt version中出现问题&#xff0c;设置msvc_64-bit时出现提示“invali…