ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。Zookeeper维护一个类似文件系统的数据结构。 Zab协议有两种模式: 当服务启动或者在领导者崩溃后,Zab就进入了恢复模式。当领导者被选举出来,且大多数Server完成了和 leader的状态同步以后,恢复模式就结束了。状态同步保证了leader和Server具有相同的系统状态。 需要在Hadoop集群上面搭建,可以选择搭建单机模式和集群模式 下载链接:https://mirrors.hust.edu.cn/apache/zookeeper/ 注:选择与Hadoop兼容版本 解压:tar -zxvf 解压之后将文件名更改为Zookeeper 在home目录下创建apps文件夹将zookeeper文件夹放入 单机模式较简单,是指只部署一个zk进程,客户端直接与该zk进程进行通信。 新建data和logs目录(data目录用来存放数据库快照,logs目录用来存放日志文件) 找到zookeeper目录下的 conf 配置文件夹 重命名 zoo_sample.cfg 为zoo.cfg 用vi命令打开zoo.cfg文件 配置完之后就可以直接启动Zookeeper。 启动成功 可以使用 status 命令查看zookeeper状态 与单机模式同样的方法,先新建data和logs目录,更改 zoo_sample.cfg文件名为zoo.cfg 用vi命令打开zoo.cfg文件 添加代码: server.1=192.168.1.121:2888:3888 在data目录下面新建一个myid文件,将刚才添加代码里面server.n的n写入myid文件里面,只写入数字。 将配置好了的zookeeper文件传给另外两台服务器 先在另外两台服务器上面创建目录 slave1: slave2: 用scp命令进行文件传送 注:先设置SSL免密登录 传输完成之后在slave1和slave2上面更改myid文件,将他里面的数字改为slave1与slave2对应的IP地址(上面更改的zoo.cfg文件里面添加的服务器主机名或者IP是一 一对应的)。 slave1: slave2: 关闭防火墙 首先启动master主服务器上面的zookeeper,其次slave1和slave2 master: slave1: slave2: 在master上面查看是否运行成功 启动成功 结语:大数据Hadoop笔记 Zookeeper安装与配置.Zookeeper安装与配置
一、了解 Zookeeper
二、下载 Zookeeper
三、安装
[root@master dev]# tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz
[root@master dev]# mv apache-zookeeper-3.5.8-bin.tar.gz zookeeper
[root@master dev]# mkdir -p /home/apps [root@master dev]# mv zookeeper /home/apps/ [root@master dev]# ll total 8 drwxr-xr-x. 9 centos centos 4096 Dec 19 2017 sqoop drwxr-xr-x. 8 root root 4096 Jan 15 11:17 zookeeper
zookeeper 具有单机模式和集群模式
在开发测试环境下,通过来说没有较多的物理资源,因此我们常使用单机模式。当然在单台物理机上也可以部署集群模式,但这会增加单台物理机的资源消耗。故在开发环境中,我们一般使用单机模式。
但是要注意,生产环境下不可用单机模式,这是由于无论从系统可靠性还是读写性能,单机模式都不能满足生产的需求。1、单机模式
[root@master dev]# mkdir -p /home/apps/zookeeper/data [root@master dev]# mkdir -p /home/apps/zookeeper/logs
[root@master dev]# cd /home/apps/zookeeper/conf/ [root@master conf]# ll total 16 -rw-r--r--. 1 root root 535 May 4 2020 configuration.xsl -rw-r--r--. 1 root root 2712 May 4 2020 log4j.properties -rw-r--r--. 1 root root 922 May 4 2020 zoo_sample.cfg -rw-r--r--. 1 root root 152 Jan 15 13:05 zoo.cfg.dynamic.next [root@master dev]#
[root@master conf]# mv zoo_sample.cfg zoo.cfg
[root@master conf]# vi zoo.cfg # The number of milliseconds of each tick tickTime=2000 #Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,单位为毫秒 # The number of ticks that the initial # synchronization phase can take initLimit=10 #表示允许从服务器连接到leader并完成数据同步的时间,总的时间长度就是 initLimit * tickTime 秒 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 #配置 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 syncLimit * tickTime 秒 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/home/apps/zookeeper/data #Zookeeper 保存数据的数据库快照的位置 dataLogDir=/home/apps/zookeeper/logs #事务日志日志路径,若没提供的话则用dataDir # the port at which the clients will connect clientPort=2181 #Zookeeper服务器监听的端口,以接受客户端的访问请求 # the maximum number of client connections. # increase this if you need to handle more clients #maxClientCnxns=60 # 限制连接到ZK上的客户端数量,并且限制并发连接数量,值为0表示不做任何限制 # # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # 自动清理日志,该参数设置保留多少个快照文件和对应的事务日志文件,默认为3,如果小于3则自动调整为3 # Purge task interval in hours # Set to "0" to disable auto purge feature #autopurge.purgeInterval=1
[root@master conf]# cd /home/apps/zookeeper/bin [root@master bin]# ./zkServer.sh start ZooKeeper JMX enabled by default Using config: /home/apps/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [root@master bin]#
[root@master bin]# ./zkServer.sh status
2、集群模式
[root@master conf]# vi zoo.cfg # The number of milliseconds of each tick tickTime=2000 #Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,单位为毫秒 # The number of ticks that the initial # synchronization phase can take initLimit=10 #表示允许从服务器连接到leader并完成数据同步的时间,总的时间长度就是 initLimit * tickTime 秒 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 #配置 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 syncLimit * tickTime 秒 # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/home/apps/zookeeper/data #Zookeeper 保存数据的数据库快照的位置 dataLogDir=/home/apps/zookeeper/logs #事务日志日志路径,若没提供的话则用dataDir # the port at which the clients will connect clientPort=2181 #Zookeeper服务器监听的端口,以接受客户端的访问请求 # the maximum number of client connections. # increase this if you need to handle more clients #maxClientCnxns=60 # 限制连接到ZK上的客户端数量,并且限制并发连接数量,值为0表示不做任何限制 # # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # 自动清理日志,该参数设置保留多少个快照文件和对应的事务日志文件,默认为3,如果小于3则自动调整为3 # Purge task interval in hours # Set to "0" to disable auto purge feature #autopurge.purgeInterval=1 # server.n n是一个数字,表示这个是第几号服务器,“=”后面可跟主机地址或者IP地址,2888为集群中从服务器(follower)连接到主服务器(leader)的端口,为主服务器(leader)使用;3888为进行选举(leader)的时使用的端口 server.1=192.168.1.121:2888:3888 server.2=192.168.1.122:2888:3888 server.3=192.168.1.123:2888:3888
server.2=192.168.1.122:2888:3888
server.3=192.168.1.123:2888:3888[root@master bin]# vi /home/apps/zookeeper/data/myid 1 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ "myid" [New File]
[root@slave1 ~]# mkdir -p /home/apps/zookeeper
[root@slave2 ~]# mkdir -p /home/apps/zookeeper
[root@master ~]#scp -r /home/apps/zookeeper root@slave1:/home/apps/ [root@master ~]#scp -r /home/apps/zookeeper root@slave2:/home/apps/
[root@slave1 ~]#vi /home/apps/zookeeper/data/myid 2 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ data/myid" 1L, 2C
[root@slave2 ~]# vi /home/apps/zookeeper/data/myid 3 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ data/myid" 1L, 2C
关闭防火墙
关闭防火墙
重要的事说三遍,防火墙很重要,非常重要,如果没有关闭防火墙,很有可能导致启动不成功。[root@slave2 ~]# systemctl stop firewalld [root@slave2 ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1)
[root@master ~]# cd /home/apps/zookeeper/bin [root@master bin]# ./zkServer.sh start ZooKeeper JMX enabled by default Using config: /home/apps/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
[root@master ~]# cd /home/apps/zookeeper/bin [root@master bin]# ./zkServer.sh start ZooKeeper JMX enabled by default Using config: /home/apps/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
[root@master ~]# cd /home/apps/zookeeper/bin [root@master bin]# ./zkServer.sh start ZooKeeper JMX enabled by default Using config: /home/apps/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
master:[root@master bin]# ./zkServer.sh status ZooKeeper JMX enabled by default Using config: /home/apps/zookeeper/bin/../conf/zoo.cfg Client port found: 2181. Client address: localhost. Mode: leader
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算