zookeeper-3.6.4集群搭建

1、上传zookeeper安装包并解压

上传路径:/opt/software/
解压路径:/opt/module/

2、创建数据目录及日志目录

#数据目录:/data/zookeeper/data/
#3台机器创建存储目录:
sudo mkdir -p /data/zookeeper/data
#日志目录:/data/log/zookeeper
#3台机器创建日志目录:
sudo mkdir -p /data/log/zookeeper
sudo chown -R bigdata:bigdata /data/zookeeper/

3、修改配置

解压一份 zookeeper 安装包,修改其配置文件 zoo.cfg,内容如下。之后将目录分发到其他服务器上

sudo chown -R bigdata:bigdata /opt/module/apache-zookeeper-3.6.4-bin/
cd /opt/module/apache-zookeeper-3.6.4-bin/conf
cp zoo_sample.cfg zoo.cfg 
dataDir=/data/zookeeper/data/
dataLogDir=/data/log/zookeeper/
clientPort=2181
tickTime=5000
initLimit=10
syncLimit=10
maxClientCnxns=256
minSessionTimeout=86400000
maxSessionTimeout=86400000
autopurge.purgeInterval=24
autopurge.snapRetainCount=5
quorum.auth.enableSasl=false
quorum.cnxn.threads.size=20
server.2=node2:3181:4181
server.3=node3:3181:4181
server.4=node4:3181:4181

添加java环境变量

vim /opt/module/apache-zookeeper-3.6.4-bin/bin/zkEnv.sh
JAVA_HOME="/usr/java/jdk1.8.0_212"

4、标识节点

分别在3个节点的 dataDir 目录下新建 myid 文件,并写入对应的节点标识。Zookeeper 集群通过 myid 文件识别集群节点,并通过上文配置的节点通信端口和选举端口来进行节点通信,选举出 Leader 节点。
创建并写入节点标识到 myid 文件:
node2服务器

echo "2" > /data/zookeeper/data/myid

node3服务器

echo "3" > /data/zookeeper/data/myid

node4服务器

echo "4" > /data/zookeeper/data/myid

5、配置zookeeper数据输出路径

修改log4j.properties的zookeeper.log.dir=. 发现不生效
需修改bin/zkEnv.sh

#ZOO_LOG_DIR="$ZOOKEEPER_PREFIX/logs"
ZOO_LOG_DIR="/data/log/zookeeper"

6 启动集群验证

分别在3台主机上,执行如下命令启动服务:

/opt/module/apache-zookeeper-3.6.4-bin/bin/zkServer.sh start

启动后使用zkServer.sh status查看集群各个节点状态,其中有一个节点是leader,有两个节点是follower,证明zookeeper集群是部署成功的

7、使用systemctl管理zookeeper集群

在node2添加文件 zookeeper.service

sudo vim /usr/lib/systemd/system/zookeeper.service
[Unit]
Description=Zookeeper
After=network.target remote-fs.target[Service]
Type=forking
ExecStart=/opt/module/apache-zookeeper-3.6.4-bin/bin/zkServer.sh start
ExecStop=/opt/module/apache-zookeeper-3.6.4-bin/bin/zkServer.sh stop
ExecReload=/opt/module/apache-zookeeper-3.6.4-bin/bin/zkServer.sh restart
User=bigdata
Group=bigdata
Restart=always
SuccessExitStatus=0 143[Install]
WantedBy=default.target

分发到其他节点

启动、关闭验证是否配置成功

sudo systemctl start zookeeper
sudo systemctl stop zookeeper
sudo systemctl status zookeeper
sudo systemctl enable zookeeper

8、在主节点创建一个集群启停脚本

sudo vim /opt/bash/zookeeper.sh
#!/bin/bash
# zookeeper节点列表
# 在这里修改为自己的实际节点IP地址
nodes=(node2 node3 node4)# 循环遍历所有节点执行相同的命令
cmd=$1
if [ "$cmd" != "" ];thenif [[ "start" == "$cmd" ]] || [[ "stop" == "$cmd" ]] || [[ "restart" == "$cmd" ]] || [[ "status" == "$cmd" ]] ;thenfor host in ${nodes[@]} ; doecho "=================== $host =================="ssh $host "sudo systemctl $cmd zookeeper"echo "$cmd Zookeeper on $host success..."doneelseecho "  输入的参数不对"echo "  start   启动zookeeper集群"     echo "  stop    停止zookeeper集群"echo "  restart 重启zookeeper集群"echo "  status  查看zookeeper集群"fi
elseecho "请传入一个参数(start|stop|restart|status)"
fi

添加执行权限

chmod +x /opt/bash/zookeeper.sh

脚本使用方式

/opt/bash/zookeeper.sh start/stop/status/restart

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

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

相关文章

Docker Desktop 设置镜像环境变量

点击run 展开Optional settings container name :容器名称 Ports:根据你需要的端口进行输入,不输入则默认 后面这个 比如我这个 5432 Volumes:卷,也就是做持久化 需要docker 数据保存的地方 Environment variables…

Mysql中having语句与where语句的用法与区别

分析&回答 我们在写sql语句的时候,经常会使用where语句,很少会用到having,其实在mysql中having子句也是设定条件的语句与where有相似之处但也有区别。having子句在查询过程中慢于聚合语句(sum,min,max,avg,count)。而where子句在查询过程中则快于聚合语句(sum,min,max,avg…

解决C++ 遇笔试题输入[[1,2,3,...,],[5,6,...,],...,[3,1,2,...,]]问题

目录 0 引言1 思路2 测试结果3 完整代码4 总结 0 引言 现在面临找工作问题,做了几场笔试,遇到了一个比较棘手的题目就是题目输入形式如下: [ [3,1,1], [3,5,3], [3,2,1] ] 当时遇到这个问题还是比较慌的,主要是之前没有遇到这样的…

【STM32】锁存器

问题背景 在学习FSMC控制外部NOR存储器时,看到在NOR复用接口模式下,AD信号[15:0]是复用的。也就是说,若不使用锁存器:当NADV为低时,ADx(x0…15)上出现地址信号Ax,当NADV变高时,ADx上出现数据信号Dx。若使用…

9.3.3网络原理(网络层IP)

一.报文: 1.4位版本号:IPv4和IPv6(其它可能是实验室版本). 2.4位首部长度:和TCP一样,可变长,带选项,单位是4字节. 3.8位服务类型 4.16位总长度:IP报头 IP载荷 传输层是不知道载荷长度的,需要网络层来计算. IP报文 - IP报头 IP载荷 TCP报文 TCP载荷 IP载荷(TCP报文) …

Golang编写客户端SDK,并开源发布包到GitHub,供其他项目import使用

目录 编写客户端SDK,并开源发布包到GitHub1. 创建 GitHub 仓库2. 构建项目,编写代码Go 代码示例:项目目录结构展示: 3. 提交代码到 GitHub仓库4. 发布版本5. 现在其他人可以引用使用你的模块包了 编写客户端SDK,并开源…

Vue项目案例-头条新闻

目录 1.项目介绍 1.1项目功能 1.2数据接口 1.3设计思路 2.创建项目并安装依赖 2.1创建步骤 2.2工程目录结构 2.3配置文件代码 3.App主组件开发 3.1设计思路 3.2对应代码 4.共通组件开发 4.1设计思路 4.2对应代码 5.头条新闻组件开发 5.1设计思路 5.2对应代码 …

Xcode打包ipa文件,查看app包内文件

1、Xcode发布ipa文件前,在info中打开如下两个选项,即可在手机上查看app包名文件夹下的文件及数据。

postman9.12.汉化版(附有下载链接)

想用英文版本的可以直接点击下载最新版本 这里直接付上9.12.2版本的下载链接,如果大家要下载别的版本,可以直接修改链接里面的版本号即可 ,下面是汉化包下载 链接:https://pan.baidu.com/s/1izK3HfqlfXJdq6KIYeJ2zw?pwdpetk 提…

【数据结构】2015统考真题 6

题目描述 【2015统考真题】求下面的带权图的最小(代价)生成树时,可能是Kruskal算法第2次选中但不是Prim算法(从v4开始)第2次选中的边是(C) A. (V1, V3) B. (V1, V4) C. (V2, V3) D. (V3, V4) …

划分Vlan时需要注意的问题

网络部分2019年才开始学习的,在学习过程中配置了整个公司的网络,心里才有了一点把握,算是掌握了最基本的。 不会的就上网学,反正网络上什么知识都有,只要有需求就对照着学,很长时间没有学习网络了&#xff…

567. 字符串的排列

我写了首诗&#xff0c;把滑动窗口算法变成了默写题 | labuladong 的算法小抄 (gitee.io) windows放窗口里需要统计的元素 class Solution { public:bool checkInclusion(string s1, string s2) {int left 0;int right 0;int flag 0;map<char, int> need;for (int …

【计算机组成 课程笔记】5.1 处理器的设计步骤

课程链接&#xff1a; 计算机组成_北京大学_中国大学MOOC(慕课) 5 - 1 - 501-处理器的设计步骤&#xff08;14-49--&#xff09;_哔哩哔哩_bilibili 处理器&#xff0c;或者说是CPU&#xff0c;是现代计算机中最为复杂的一个部件。不过先不要劝退&#xff0c;要设计一个简单但是…

如何检测勒索软件攻击

什么是勒索软件 勒索软件又称勒索病毒&#xff0c;是一种特殊的恶意软件&#xff0c;又被归类为“阻断访问式攻击”&#xff08;denial-of-access attack&#xff09;&#xff0c;与其他病毒最大的不同在于攻击方法以及中毒方式。 攻击方法&#xff1a;攻击它采用技术手段限制…

若依 MyBatis改为MyBatis-Plus

主要内容&#xff1a;升级成mybatis-plus&#xff0c;代码生成也是mybatis-plus版本 跟着我一步一步来&#xff0c;就可完成升级&#xff01; 检查&#xff1a;启动程序&#xff0c;先保证若依能启动 第一步&#xff1a;添加依赖 这里需要在两个地方添加&#xff0c;一个是最…

【C语言】——调试技巧

目录 ​编辑 ①前言 1.什么是Bug&#xff1f; 2.什么是调试&#xff1f; 2.1调试的基本步骤 2.2Release与Debug 3.常用快捷键 4.如何写出好的代码 4.1常见的coding技巧 &#x1f449;assert() &#x1f449;const() const修饰指针: ①前言 调试是每个程序员都…

算法题打卡day56-编辑距离 | 583. 两个字符串的删除操作、72. 编辑距离

583. 两个字符串的删除操作 - 力扣&#xff08;LeetCode&#xff09; 状态&#xff1a;查看思路后AC。 和查找子序列的操作类似&#xff0c;但是考虑的是删除操作。代码如下&#xff1a; class Solution { public:int minDistance(string word1, string word2) {int len1 wor…

机器学习前沿:改进自身缺陷,满足新战略

前机械师&#xff08; 来源) 一、说明 机器学习在人工智能历史上扮演重要角色&#xff0c;然而&#xff0c;存在问题也不少。为了适应新时代和新任务&#xff0c;不做出重大改进是不可能的&#xff0c;本篇就一些突出问题和改进做出讨论。以便读者掌握未来的思路和方向。 二、机…

SSM框架-spring

SSM框架参考 spring Spring源码 Spring6课程笔记

ClickHouse多级磁盘和冷热数据分离实践

特别注意 ck可以大小写区分也可以不区分ck 配置文件中的各个卷的是有顺序的。 开启远程访问 vim /etc/clickhouse-server/config.xml <listen_host>0.0.0.0</listen_host> 前言 ClickHouse 的冷热数据分离和ES的类似&#xff0c;可以选择冷数据跑在哪个数据目录…