文章目录

  • 准备
    • 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集群搭建相关推荐

  1. Kafka学习:CentOS7下Kafka集群搭建

    文章目录 准备 集群安装 1.创建目录 2.解压缩安装包 3.修改配置文件 4.启动 5.查看集群是否安装成功 测试Kafka 1.创建测试mytopic 2.查看mytopic副本信息 3.查看已创 ...

  2. CentOS7下Hive集群搭建

    文章目录 1.下载Hive 2.安装mysql数据库 3.修改配置文件 3.1 hive-site.xml配置文件 3.2 hive-env.sh配置文件 4.新增mysql驱动到hive中 5.将h ...

  3. CentOS7下Hadoop集群搭建

    文章目录 1.概念 1.1.主从结构 1.2.Hadoop集群角色名称 2.安装前准备 2.1.安装软件准备 2.2.Hadoop集群服务器规划 3.安装 3.1 解压文件 3.2 修改配置文件 3. ...

  4. Windows下Kafka集群搭建

    一.Windows下Zookeeper集群搭建. 1.集群版本:2.8.1,3.0版本不再支持JDK8,不在需要Zookeeper. 2.Zookeeper版本:3.8.0. 3.Zookeeper三 ...

  5. CentOS7下Elasticsearch集群部署记录

    Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也 ...

  6. 环境搭建:Windows系统下Nacos集群搭建

    环境搭建:Windows系统下Nacos集群搭建 一.环境准备 名称 版本 下载地址 nacos NACOS 1.2.0 下载地址,提取码:5555 MySQL mysql Ver 14.14 Dis ...

  7. Docker下ETCD集群搭建

    Docker下ETCD集群搭建 https://www.cnblogs.com/eagle6688/p/8287907.html 搭建集群之前首先准备两台安装了CentOS 7的主机,并在其上安装好D ...

  8. 第七章 :Hadoop+Zookeeper 3节点高可用集群搭建和原理解释

    一,原理 先说一下Zookeeper在Hadoop集群的作用,以前我们学习Hadoop伪分布式的时候没有用到Zookeeper是因为伪分布式只有一个NameNode,没有Active和Standby状 ...

  9. ZooKeeper实战篇之zk集群搭建、zkCli.sh操作、权限控制ACL、ZooKeeper JavaAPI使用

    在看了史上最全的Zookeeper原理详解(万字长文),了解Zookeeper的原理后,你是不是蠢蠢欲动想着手实践呢?这篇文章将手把手教你在Linux上搭建ZooKeeper集群,并调用相关API实现 ...

  10. Linux环境下Spark集群搭建

    Spark是通用的基于内存计算的大数据框架,可以和hadoop生态系统很好的兼容,以下来部署Spark集群 集群环境:3节点 Master:bigdata1 Slaves:bigdata2,bigda ...

最新文章

  1. 强烈不建议你用 a.equals(b) 判断对象相等!
  2. 通信测试:5G 时代的“卖水人”
  3. 解析CleanMyMac隐私保护内容与使用
  4. ThinkPad L412 安装Mac 10.7.2 显卡驱动安装成功
  5. git 客户端查看不同分支的文件
  6. 怎样才能去掉图片锁定纵横比_1分钟批量统一Word中300张图片的大小!无需插件、代码,超级简单...
  7. 一篇文章解决Python函数式编程与闭包的问题
  8. ctfshow-萌新-web14( 曲线救国-POST请求绕过获取网站敏感信息)
  9. Socket开发框架之框架设计及分析
  10. 惨遭打脸:字节某部门竟然有这么多测试
  11. 【Computer Organization笔记24】光盘,FLASH MEMORY,本单元总结
  12. Cassandra 之旅 (二) Getting Started
  13. 如何设置NeoFinder在共享网络中的目录数据库
  14. Linux文件属性与权限
  15. mysql正则表达式教学视频教程_MySQL正则表达式入门教程
  16. 如何理解java抽象类,我是如何理解Java抽象类和接口的
  17. 杭州计算机学校课程表,超级课程表电脑版
  18. 从高德地图获取城市地铁线路+站点
  19. 打不开网页服务器丢失,苹果浏览器safari打不开,丢失网络
  20. cgi-bin是什么

热门文章

  1. 总帐科目字段选择存储在表 T004F 中;科目分配存储在表 T162K 中。
  2. 在SAP中进行黏贴时必须要把之前的数据删掉后才能黏贴,不能直接使用黏贴来覆盖之前的数据,这个怎麼解?
  3. excel数据透视表列名更改
  4. ABAP常用字符串操作收集整理
  5. 平安智慧城市:与时代同行,坚定数字化之路
  6. 从美图、4399生根,到趣店、瑞幸落户,厦门离中国的西雅图还有多远?
  7. 迷宫android游戏代码,C++打造迷宫游戏,直接上代码
  8. python中unique函数_正在计算unique()的返回值
  9. python密码传参有特殊字符如何解决_python生成带特殊字符的密码
  10. SQL语言之DQL语言学习(十一)分页查询