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

三节点zookeeper集群搭建

1、环境准备1.1、 设置三台虚拟机主机名# 在node1执行 sudo hostnamectl set-hostname node1 # 在node2执行 sudo hostnamectl set-hostname node2 # 在node3执行 sudo hostnamectl set-hostname node31.2、修改hosts# 使用vim编辑hosts文件 sudo vim /etc/hosts # 添加以下内容示例IP请替换为实际值 192.168.1.101 node1 192.168.1.102 node2 192.168.1.103 node31.3、安装java需具备可以配置多套java环境环境变量中配别名进行切换# Java export JAVA_8_HOME/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 export JAVA_11_HOME/opt/module/jdk-11.0.2 export JAVA_17_HOME/opt/module/jdk-17.0.2 export JAVA_21_HOME/opt/module/jdk-21.0.2 ## default java 8 export JAVA_HOME$JAVA_8_HOME export PATH$JAVA_HOME/bin:$PATH ## use alias alias java8export JAVA_HOME$JAVA_8_HOME; export JRE_HOME$JAVA_HOME/jre; export CLASSPATH.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH; export PATH$JAVA_HOME/bin:$JRE_HOME/bin:$PATH; echo Switched to Java 8; java -version alias java11export JAVA_HOME$JAVA_11_HOME; export PATH$JAVA_HOME/bin:$PATH; echo Switched to Java 11; java -version alias java17export JAVA_HOME$JAVA_17_HOME; export PATH$JAVA_HOME/bin:$PATH; echo Switched to Java 17; java -version alias java21export JAVA_HOME$JAVA_21_HOME; export PATH$JAVA_HOME/bin:$PATH; echo Switched to Java 21; java -version1.4、zk安装包下载wget https://downloads.apache.org/zookeeper/zookeeper-3.8.5/apache-zookeeper-3.8.5-bin-bin.tar.gz tar -zxvf apache-zookeeper-3.8.5-bin.tar.gz -C /opt/1.5、 配置环境变量此处新建my_env.sh文件专门存放自己手动安装软件的环境变量echo export ZOOKEEPER_HOME/opt/apache-zookeeper-3.8.5-bin /etc/profile.d/my_env.sh echo export PATH$PATH:$ZOOKEEPER_HOME/bin /etc/profile.d/my_env.sh source /etc/profile批量配置环境变量节点之间需ssh免登录#!/bin/bash # 定义节点列表 NODES(node1 node2 node3) # 批量配置环境变量 for node in ${NODES[]}; do echo 正在配置 $node 的ZooKeeper环境变量... ssh root$node EOF echo export ZOOKEEPER_HOME/opt/apache-zookeeper-3.8.5-bin /etc/profile.d/my_env.sh echo export PATH\$PATH:\$ZOOKEEPER_HOME/bin /etc/profile.d/my_env.sh source /etc/profile echo $node 配置完成 EOF done echo 所有节点ZooKeeper环境变量配置完成1.6、验证环境变量配置# 检查环境变量是否生效 echo $ZOOKEEPER_HOME echo $PATH # 验证ZooKeeper命令是否可用 zkServer.sh --version1.7、 创建数据目录数据目录和日志目录最好分开本地无所谓mkdir -p /opt/apache-zookeeper-3.8.5-bin/data mkdir -p /var/log/zookeeper/logs1.8、集群配置文件/opt/apache-zookeeper-3.8.5-bin/conf/zoo.cfg# 基础时间单元毫秒用于计算会话超时和心跳间隔 tickTime2000 # 允许follower初始连接并同步到leader的最大心跳周期数tickTime倍数 initLimit10 # follower与leader间运行时心跳超时阈值tickTime倍数 syncLimit5 # 内存数据库快照存储路径 dataDir/opt/apache-zookeeper-3.8.5-bin/data # 事务日志存储路径与dataDir分离可提升IO性能 dataLogDir/var/log/zookeeper/logs # 待处理请求队列的最大长度流量控制 globalOutstandingLimit1000 # 单个客户端IP的最大并发连接数 maxClientCnxns250 # 自动清理时保留的快照文件数量 autopurge.snapRetainCount10 # 自动清理任务执行间隔小时 autopurge.purgeInterval24 # 启用Prometheus指标采集器 metricsProvider.classNameorg.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider # 指标暴露的监听地址0.0.0.0表示所有网卡 metricsProvider.httpHost0.0.0.0 # 指标暴露的HTTP端口 metricsProvider.httpPort2999 # 包含JVM运行时指标 metricsProvider.exportJvmInfotrue # 集群节点配置ID1的节点# server.IDIP:Leader同步端口:选举端口;客户端端口 server.1node1:2888:3888;2181 # 集群节点配置ID2的节点 server.2node2:2888:3888;2181 # 集群节点配置ID3的节点 server.3node3:2888:3888;2181 # 启用内置AdminServer admin.enableServertrue # AdminServer监听端口 admin.serverPort3999 # 限制AdminServer仅本地访问 admin.serverAddress127.0.0.1 # 允许执行的四字命令白名单 4lw.commands.whitelistmntr,ruok,snapshot,restore # 启用操作审计日志 audit.enabletrue1.9、编写myid/opt/apache-zookeeper-3.8.5-bin/data/myid各节点分别执行# 节点1 echo 1 /opt/apache-zookeeper-3.8.5-bin/data/myid # 节点2 echo 2 /opt/apache-zookeeper-3.8.5-bin/data/myid # 节点3 echo 3 /opt/apache-zookeeper-3.8.5-bin/data/myid1.10、 启动与验证1.10.1、启动集群所有节点/opt/apache-zookeeper-3.8.5-bin/bin/zkServer.sh start1.10.2、检查状态/opt/apache-zookeeper-3.8.5-bin/bin/zkServer.sh status1.10.3、 客户端连接测试/opt/apache-zookeeper-3.8.5-bin/bin/zkCli.sh -server 192.168.1.10:2181

相关文章:

三节点zookeeper集群搭建

1、环境准备 1.1、 设置三台虚拟机主机名# 在node1执行 sudo hostnamectl set-hostname node1 # 在node2执行 sudo hostnamectl set-hostname node2 # 在node3执行 sudo hostnamectl set-hostname node31.2、修改hosts# 使用vim编辑hosts文件 sudo vim /etc/hosts # 添加以下内…...

2026年必看:专业婚恋软件推荐,找到真爱不迷路

在当今快节奏的社会中,越来越多的高知青年面临着交友难、脱单难的问题。传统的社交方式往往难以满足他们对高质量伴侣的需求,而专业的婚恋软件则成为他们寻找真爱的重要途径。本文将重点推荐一款备受好评的婚恋软件——即恋App,并结合具体数据…...

售前客户需求深度挖掘:从表面诉求到核心痛点的五步法

# 003、客户需求深度挖掘:从表面诉求到核心痛点的五步法---上周调一个嵌入式项目,客户说“设备偶尔会死机,重启就好”。我们查了三天的日志,发现是内存泄漏。但真正的问题是什么?是代码质量?不完全是。最后…...

嵌入式工程师技术成长路径:从单片机到Linux驱动开发

嵌入式工程师职业发展路径的技术思考1. 职业发展阶段与技术演进1.1 单片机开发阶段对于刚毕业的电子工程专业学生,单片机开发通常是职业起点。这一阶段主要涉及:8/16/32位微控制器(如STM32系列)的应用开发基础外设驱动开发(GPIO、UART、SPI、I2C等)实时操…...

从DVWA存储型XSS看Web安全:开发者常踩的坑与Impossible级别的启示

从DVWA存储型XSS看Web安全:开发者常踩的坑与Impossible级别的启示 在Web应用开发中,安全漏洞就像隐藏在代码中的定时炸弹,而存储型XSS(跨站脚本攻击)无疑是其中最具破坏力的一种。不同于反射型XSS的一次性攻击&#xf…...

Kimi,Minimax教你的客服怎么做客服

Kimi,教你怎么做客服。下面是Kimi根据我提供的图片写的文章。不是说minimax全面领先kimi,至少我在不断的提高自己的kimi会员等级。但是有时候,这是被迫的消耗积分和额度。199的套餐也快消耗完了。消耗积分是应该的,关键是要用在刀…...

华为交换机流量统计配置全攻略:从ACL到流策略的保姆级教程

华为交换机流量统计配置全攻略:从ACL到流策略的保姆级教程 在网络运维工作中,流量统计是排查故障、优化性能的基础技能。想象一下这样的场景:某天凌晨,核心业务突然出现访问延迟,你需要快速判断是服务器问题还是网络链…...

PP实战指南:ECN工程变更在物料计划中的关键应用与系统操作解析

1. ECN工程变更的核心价值与业务场景 第一次接触ECN(Engineering Change Notice)是在2015年负责汽车零部件项目时,当时产线因为一个螺丝规格变更导致全线停产8小时。这个惨痛教训让我深刻理解到,工程变更绝不是简单的技术文档更新…...

收藏!程序员/小白入门大模型必看,我的AI学习踩坑与正确路线分享

很多程序员和小白同学都私信我说,想入门AI、学习大模型,但始终找不到清晰的切入点,不知道该从哪里开始,也没有适合自己的学习路线。我深耕技术领域多年,从前端自学起步,后来转型学习AI与大模型,…...

效率提升:基于快马平台快速集成openclaw开发局域网协作工具

最近在团队协作开发中遇到了一个痛点:每次新成员加入局域网时,都需要手动配置设备信息才能互相访问,文件共享和实时沟通也依赖第三方工具,效率很低。于是尝试用openclaw结合InsCode(快马)平台快速搭建了一套本地化协作工具&#x…...

百考通:AI赋能设计都高效落地

在数字化时代,市场调研、产品设计、学术研究等场景中,问卷设计作为核心环节,直接影响着数据收集的质量与工作推进的效率。传统问卷设计往往面临流程繁琐、耗时耗力、问题设计不精准等痛点,而百考通(https://www.baikao…...

RGBLEDBlender:嵌入式RGB LED色彩混合与动态控制框架

1. RGBLEDBlender 库深度解析:面向嵌入式系统的 RGB 色彩混合与动态控制框架RGBLEDBlender 是一个轻量级、面向硬件的 RGB LED 色彩混合库,专为资源受限的微控制器平台(尤其是 Arduino 生态)设计。该库由 Erik Sikich 于 2016 年 …...

手搓STM32H743开源飞控系列教程---(五) 飞控IMU方向调整

1. 为什么需要调整飞控IMU方向 第一次玩飞控的朋友可能会遇到一个奇怪现象:明明把飞控板水平放在桌面上,地面站显示的姿态却歪了30度。这种情况十有八九是IMU安装方向与飞控默认设定不匹配导致的。我刚开始玩穿越机时就踩过这个坑,当时把飞控…...

SAP--S4/HANA

1、Webdispatcher 2、ASCS 全称:ABAP Central Services Instance(在 Java 栈中称为 SCS - Java Central Services)。 核心功能:它是 SAP 系统的“大脑”或控制中心,不包含处理具体业务对话(Dialog&#xff…...

【硬核】让所有AI Agent自动进化!港大开源OpenSpace,一个命令让你的Claude Code/Cursor/OpenClaw秒变超级智能体

最近刷 GitHub,发现了一个让我眼前一亮的项目——OpenSpace。 它解决了一个超级痛点:现在的 AI Agent(比如 Claude Code、OpenClaw、Cursor)都很强大,但它们从不学习、永不进化——每次任务都是从头开始,浪…...

linux内核故障分析及调测工具使用能力

Linux内核的故障分析和调测工具非常丰富,根据使用场景大致可以分为静态分析/代码检查、动态跟踪、性能分析、内存调试、以及崩溃转储分析这几大类。 下面我为你整理了典型工具的归类表,方便快速查阅,后面再详细解读几个核心工具的实战能力。 …...

2026 LinkedIn账号安全机制分析与稳定运营实践

随着 LinkedIn 风控机制的不断完善,账号的登录环境、行为模式以及网络条件,都会直接影响账号的稳定性。对于需要长期运营账号的用户来说,理解平台的风控逻辑,比单纯增加操作频率更为重要。本文将从使用场景、常见环境问题、账号行…...

数据稠密计算的算法优化:从理论到实践

数据稠密计算的算法优化:从理论到实践 引言 作为一名在数据深渊里捞了十几年 Bug 的女码农,我见过太多因为算法选择不当导致的性能问题。在数据稠密计算中,算法的选择和优化是提升计算性能的关键因素之一。今天,我们来聊聊数据稠密…...

Nginx 简单使用配置

配置 user nginx; worker_processes auto;error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid;events {worker_connections 1024; }http {include /etc/nginx/mime.types;default_type application/octet-stream;log_format main $remote…...

天津专业的阀门厂排名

在天津,阀门行业发展态势良好,众多阀门厂各有特色与优势。中国通用机械工业协会最新发布的《2026年阀门行业高质量发展白皮书》显示,天津的阀门产业在技术创新、产品质量和市场份额等方面都有不错的表现。下面为大家介绍几家天津比较知名的阀…...

例子-子网划分问题

...

PCS双向储能变流器Buck - Boost闭环控制仿真复现之旅

PCS双向储能变流器Buck-Boost闭环控制仿真【复现】 复现参考文献:《储能电站变流器设计与仿真研究_尹世界》 三相PWM变流器控制:采用电压外环、电流内环双闭环PI控制,电压环稳定直流测电容电压700V,电网电压和电容电流前馈&#x…...

ST7565SPI嵌入式LCD驱动库:轻量、可移植、零内存分配

1. ST7565SPI 驱动库概述ST7565 是 Sitronix 公司推出的单芯片图形点阵 LCD 控制器,广泛应用于工业人机界面、便携式仪器仪表、智能穿戴设备等对功耗、成本与显示质量有综合要求的嵌入式场景。其典型分辨率为 12864 像素,内置 12864 bit 显示 RAM&#x…...

提升开发效率与编码体验:开源字体LxgwWenKai跨平台配置全指南

提升开发效率与编码体验:开源字体LxgwWenKai跨平台配置全指南 【免费下载链接】LxgwWenKai LxgwWenKai: 这是一个开源的中文字体项目,提供了多种版本的字体文件,适用于不同的使用场景,包括屏幕阅读、轻便版、GB规范字形和TC旧字形…...

PhysX帧分配器:一帧一擦的高效艺术

写满就擦,擦完再写,永不停歇引子:数学老师的白板 还记得高中数学课吗? 老师走进教室,面前是一块干干净净的白板。他开始讲解——写公式、画图形、列步骤,白板渐渐被填满。下课铃响,老师拿起板擦…...

当multisim遇见ai助手:快马平台如何智能分析与优化你的电路设计

作为一名电子设计爱好者,最近在InsCode(快马)平台尝试了一个特别有意思的项目——用AI辅助优化Multisim电路设计。整个过程就像有个专业的电子工程师在旁边实时指导,分享下我的实践心得: 直流工作点智能诊断 输入一个简单的晶体管放大电路后&…...

XML Notepad:免费高效的XML编辑器终极指南

XML Notepad:免费高效的XML编辑器终极指南 【免费下载链接】XmlNotepad XML Notepad provides a simple intuitive User Interface for browsing and editing XML documents. 项目地址: https://gitcode.com/gh_mirrors/xm/XmlNotepad XML Notepad是一款由微…...

PHP 的异步编程 该怎么选择

一切的起点:synchronized 的舒适区 刚开始写代码时,思维往往停留在"单机"模式。遇到需要控制并发的地方,直觉反应就是加个 synchronized 关键字。 1. 曾经写过的代码 // 简单的库存扣减 public synchronized void deductStock(Stri…...

嵌入式串口协议中间件:轻量级SerHelp库设计与应用

1. 项目概述nahs-Bricks-Lib-SerHelp是 NAHS(North American Home System)生态中面向嵌入式砖块化(Brick-based)硬件平台的一套轻量级串行通信辅助库。该库不提供底层驱动实现,而是聚焦于串口协议层的工程化封装与通用…...

阿联酋人工智能大学:AI能在战争迷雾中做出理性判断吗?

这项由阿联酋穆罕默德本扎耶德人工智能大学和美国马里兰大学共同完成的研究发表于2026年3月,论文编号为arXiv:2603.16642v1。有兴趣深入了解的读者可以通过该编号查询完整论文。在人类历史上,预测战争走向一直是个极其困难的任务。就像我们很难在暴风雨中…...