ZooKeeper学习:CentOS7下ZooKeeper集群搭建
文章目录
- 准备
- 1、虚拟机
- 2、安装包
- 安装
- 1、创建安装目录
- 2、文件配置
- 3、验证
- 启动zookeeper
- 查看zookeeper启动状态
- 停止zookeeper
- 查看zookeeper启动过程
准备
1、虚拟机
本文采用的三台一模一样的模拟机系统都是CentOS7,jdk版本"1.8.0_261“
一共三台机器:
hadoop-slave1
hadoop-slave2
hadoop-slave3
2、安装包
本文准备的安装包是:zookeeper-3.4.12.tar.gz
安装
1、创建安装目录
在三台机器上分别创建以下三个目录:
/opt/zookeeper
/opt/zookeeper/zkdata
/opt/zookeeper/zkdatalog
将安装包放到/opt/zookeeper目录下:
然后将zookeeper-3.4.12.tar.gz
解压,解压命令:
tar -zxvf zookeeper-3.4.12.tar.gz
2、文件配置
将配置文件拷贝一份成zoo.cfg并进行配置
[root@hadoop-slave1 conf]# cd /opt/zookeeper/zookeeper-3.4.12/conf
[root@hadoop-slave1 conf]# cp zoo_sample.cfg zoo.cfg
对zoo.cfg进行配置
[root@hadoop-slave1 conf]# cat zoo.cfg
# 这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
tickTime=2000
# 这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 5个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒
initLimit=10
# 这个配置项标识 Leader 与Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是5*2000=10秒
syncLimit=5
# 快照和日志的存储路径
dataDir=/opt/zookeeper/zkdata
dataLogDir=/opt/zookeeper/zkdatalog
# 这个端口就是客户端连接Zookeeper服务端的端口,Zookeeper会监听这个端口,接受客户端的访问请求。默认是2181
clientPort=12181# zk集群节点配置
server.1=0.0.0.0:12888:13888
server.2=hadoop-slave2:12888:13888
server.3=hadoop-slave3:12888:13888
#server.1 这个1是服务器的表示也可以是其他数字,表示是第几号服务器,用来表示服务器,这个标识要写到快照目录下的myid文件中
#192.168.223.130为集群里的IP地址,第一个端口是master和slave之间的通信端口,默认是2888,第二个端口是leader选举端口,
#集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888 # 一个ip所对应的客户机,只能和zk服务器维持60个连接
maxClientCnxns=60
# 这个参数和下面的参数搭配使用,这个参数指定了需要保留的文件数目。默认是保留3个
autopurge.snapRetainCount=3
# 这个参数指定了清理频率,单位是小时,需要填写一个1或更大的整数,默认是0,表示不开启自己清理功能
autopurge.purgeInterval=1
这里需要注意,如果是在本机节点的话zk集群节点的ip需要配置成0.0.0.0,不然会报找不到域名的错误,
例如:我这个zookeeper是在hadoop-slave1上部署的,那么这个server.1节点ip就配置成0.0.0.0。
hadoop-slave1上的配置:
hadoop-slave2上的配置:
hadoop-slave3上的配置:
3、验证
首先进入目录:
[root@hadoop-slave1 bin]# cd /opt/zookeeper/zookeeper-3.4.12/bin
[root@hadoop-slave1 bin]# ll
总用量 80
-rwxr-xr-x. 1 leo leo 232 3月 27 2018 README.txt
-rwxr-xr-x. 1 leo leo 1937 3月 27 2018 zkCleanup.sh
-rwxr-xr-x. 1 leo leo 1056 3月 27 2018 zkCli.cmd
-rwxr-xr-x. 1 leo leo 1534 3月 27 2018 zkCli.sh
-rwxr-xr-x. 1 leo leo 1759 3月 27 2018 zkEnv.cmd
-rwxr-xr-x. 1 leo leo 2696 3月 27 2018 zkEnv.sh
-rwxr-xr-x. 1 leo leo 1089 3月 27 2018 zkServer.cmd
-rwxr-xr-x. 1 leo leo 6773 3月 27 2018 zkServer.sh
-rw-r--r--. 1 root root 44128 12月 18 17:49 zookeeper.out
然后查看命令使用方法
[root@hadoop-slave1 bin]# zkServer.sh --help
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
Usage: ./zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}
启动zookeeper
[root@hadoop-slave1 bin]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
如上可以通过jps查看是否启动成功。
查看zookeeper启动状态
将我们配置的三台集群全部启动,然后查询状态
[root@hadoop-slave1 bin]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
Mode: follower
从这里可以看出我们的hadoop-slave1是follower节点
停止zookeeper
[root@hadoop-slave1 bin]# zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
查看zookeeper启动过程
如果一直启动失败可以使用如下命令查看启动过程和日志:
[root@hadoop-slave1 bin]# zkServer.sh start-foreground
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
2020-12-19 12:18:28,361 [myid:] - INFO [main:QuorumPeerConfig@136] - Reading configuration from: /opt/zookeeper/zookeeper-3.4.12/bin/../conf/zoo.cfg
2020-12-19 12:18:28,387 [myid:] - INFO [main:QuorumPeer$QuorumServer@184] - Resolved hostname: hadoop-slave3 to address: hadoop-slave3/192.168.223.130
2020-12-19 12:18:28,388 [myid:] - INFO [main:QuorumPeer$QuorumServer@184] - Resolved hostname: hadoop-slave2 to address: hadoop-slave2/192.168.223.129
ZooKeeper学习:CentOS7下ZooKeeper集群搭建相关推荐
- Kafka学习:CentOS7下Kafka集群搭建
文章目录 准备 集群安装 1.创建目录 2.解压缩安装包 3.修改配置文件 4.启动 5.查看集群是否安装成功 测试Kafka 1.创建测试mytopic 2.查看mytopic副本信息 3.查看已创 ...
- CentOS7下Hive集群搭建
文章目录 1.下载Hive 2.安装mysql数据库 3.修改配置文件 3.1 hive-site.xml配置文件 3.2 hive-env.sh配置文件 4.新增mysql驱动到hive中 5.将h ...
- CentOS7下Hadoop集群搭建
文章目录 1.概念 1.1.主从结构 1.2.Hadoop集群角色名称 2.安装前准备 2.1.安装软件准备 2.2.Hadoop集群服务器规划 3.安装 3.1 解压文件 3.2 修改配置文件 3. ...
- Windows下Kafka集群搭建
一.Windows下Zookeeper集群搭建. 1.集群版本:2.8.1,3.0版本不再支持JDK8,不在需要Zookeeper. 2.Zookeeper版本:3.8.0. 3.Zookeeper三 ...
- CentOS7下Elasticsearch集群部署记录
Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也 ...
- 环境搭建:Windows系统下Nacos集群搭建
环境搭建:Windows系统下Nacos集群搭建 一.环境准备 名称 版本 下载地址 nacos NACOS 1.2.0 下载地址,提取码:5555 MySQL mysql Ver 14.14 Dis ...
- Docker下ETCD集群搭建
Docker下ETCD集群搭建 https://www.cnblogs.com/eagle6688/p/8287907.html 搭建集群之前首先准备两台安装了CentOS 7的主机,并在其上安装好D ...
- 第七章 :Hadoop+Zookeeper 3节点高可用集群搭建和原理解释
一,原理 先说一下Zookeeper在Hadoop集群的作用,以前我们学习Hadoop伪分布式的时候没有用到Zookeeper是因为伪分布式只有一个NameNode,没有Active和Standby状 ...
- ZooKeeper实战篇之zk集群搭建、zkCli.sh操作、权限控制ACL、ZooKeeper JavaAPI使用
在看了史上最全的Zookeeper原理详解(万字长文),了解Zookeeper的原理后,你是不是蠢蠢欲动想着手实践呢?这篇文章将手把手教你在Linux上搭建ZooKeeper集群,并调用相关API实现 ...
- Linux环境下Spark集群搭建
Spark是通用的基于内存计算的大数据框架,可以和hadoop生态系统很好的兼容,以下来部署Spark集群 集群环境:3节点 Master:bigdata1 Slaves:bigdata2,bigda ...
最新文章
- 强烈不建议你用 a.equals(b) 判断对象相等!
- 通信测试:5G 时代的“卖水人”
- 解析CleanMyMac隐私保护内容与使用
- ThinkPad L412 安装Mac 10.7.2 显卡驱动安装成功
- git 客户端查看不同分支的文件
- 怎样才能去掉图片锁定纵横比_1分钟批量统一Word中300张图片的大小!无需插件、代码,超级简单...
- 一篇文章解决Python函数式编程与闭包的问题
- ctfshow-萌新-web14( 曲线救国-POST请求绕过获取网站敏感信息)
- Socket开发框架之框架设计及分析
- 惨遭打脸:字节某部门竟然有这么多测试
- 【Computer Organization笔记24】光盘,FLASH MEMORY,本单元总结
- Cassandra 之旅 (二) Getting Started
- 如何设置NeoFinder在共享网络中的目录数据库
- Linux文件属性与权限
- mysql正则表达式教学视频教程_MySQL正则表达式入门教程
- 如何理解java抽象类,我是如何理解Java抽象类和接口的
- 杭州计算机学校课程表,超级课程表电脑版
- 从高德地图获取城市地铁线路+站点
- 打不开网页服务器丢失,苹果浏览器safari打不开,丢失网络
- cgi-bin是什么
热门文章
- 总帐科目字段选择存储在表 T004F 中;科目分配存储在表 T162K 中。
- 在SAP中进行黏贴时必须要把之前的数据删掉后才能黏贴,不能直接使用黏贴来覆盖之前的数据,这个怎麼解?
- excel数据透视表列名更改
- ABAP常用字符串操作收集整理
- 平安智慧城市:与时代同行,坚定数字化之路
- 从美图、4399生根,到趣店、瑞幸落户,厦门离中国的西雅图还有多远?
- 迷宫android游戏代码,C++打造迷宫游戏,直接上代码
- python中unique函数_正在计算unique()的返回值
- python密码传参有特殊字符如何解决_python生成带特殊字符的密码
- SQL语言之DQL语言学习(十一)分页查询