zookeeper安装和配置
本文讲讲zookeeper的安装和遇到的问题和解决方法
1、准备三台机子
用VMware安装上三台虚拟机,然后配置好。
2、下载zookeeper安装包
国内镜像网址:https://archive.apache.org/dist/zookeeper/
下载自己所需要的版本
注意:
如果是windows 本地安装的话就直接下载 .tar.gz包,如果是集群安装的话则安装-bin.tar.gz包
3、本地上传到linux上
4、解压
解压到自己想要的目录上
tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz /export/server/
5、配置文件
进入到zookeeper解压的conf路径文件夹下,将zoo_examples.cfg改名为zoo.cfg
mv zoo_example.cfg zoo.cfg
然后打开zoo.cfg进行配合
# The number of milliseconds of each tick
# 服务器与服务器之间 或 客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
# 心跳时间间隔数。当已超过initLimit个tickTime长度后 Zookeeper 服务器还没有收到客户端的返回信息,则表明客户端连接失败。总的时间长度就是 initLimit * tickTime 秒
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
# 配置 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 syncLimit * tickTime 秒
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
# Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里
dataDir=/export/data/zookeeper/zkdata
# the port at which the clients will connect
# Zookeeper服务器监听的端口,以接受客户端的访问请求
clientPort=2181
quorumListenOnAllIPs=true
# 服务器名称与地址:集群信息
# server.A=B:C:D
# A 为服务器编号、B 为服务器的 ip 地址、C 为这个服务器与集群中的 Leader 服务器交换信息的端口
# D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,此端口就是用来执行选举时服务器相互通信的端口。
# 2888端口是zookeeper服务相互通信使用的,3888端口是zookeeper服务选举使用的
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
主要是配置了dataDir的路径,每个集群的服务和端口,其他的默认就可以。
6、创建dataDir文件夹
根据自己的配置文件中的目录进行创建
/export/data/zookeeper/zkdata
然后再这个目录下创建一个myid文件,然后文件里面填入数字1就可以,然后其他机器就这个文件就配置2、3,与配置文件中的server.后面的数据对应上就可以了。
7、配置环境变量
# 打开并增加环境变量
vim /etc/profile
# 刷新配置文件
source /etc/profile
8、安装分发
我这里为了省事就直接复制到其他集群上,这里可以每台机器上都进行一次的配置
将集群1上的zookeeper安装复制到其他集群上
# 安装文件
scp -r /export/server/zookeeper hadoop2:/export/server
# datadir
scp -r /export/data/zookeeper hadoop2:/export/data/zookeeper
datadir复制之后要记得修改对应的myid文件内容
9、启动zookeeper
# 启动服务
zkServer.sh start
# 查看服务是否启动和状态
zkServer.sh status
# 启动客户端(这个是进行节点的操作才需要打开的)
zkCli.sh start



出现上图就证明安装成功了。
10、我遇到的问题报错
遇到问题:先查看日志文件,看看报了那些错,然后再去搜索解决问题的方法。
安装目录下,服务启动后会创建一个logs文件夹,里面会输出服务的日志文件。
问题一:
配置文件的目录中dataDir文件路径和我创建的文件路径对应不上,这是我当时没仔细检查,导致这两个文件目录不一致报错,服务没启动成功。
解决方法:
清空配置文件加下的文件,除了myid文件(三台服务器都要进行同样的操作),然后仔细检查创建的文件夹和配置文件夹是否一致,然后就可以重新启动服务了。
问题二:
启动一台服务器的服务,查看状态,出现如下图中的错误

解决办法:
这是由于我们配置的是三台服务器的zookeeper服务,所以我们只启动一台机器的话,服务并未完全启动,因为其他两台还没启动,我们需要把三台的服务都启动了,再去查看服务的状态。
结语:这是我安装zookeeper的过程,希望能对安装zookeeper起到帮助,有问题和错误的地方,望指正,一起加油和进步!
更多推荐
所有评论(0)