运维开发网

zookeeper集群安装配置

运维开发网 https://www.qedev.com 2021-01-14 13:21 出处:51CTO 作者:hxgd2014
linux搭建zookeeper集群

一、介绍

ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,提供的功能包括:配置维护、名字服务、分布式同步、组服务等,目标就是封装好复杂易出错的关键职务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。Zookeeper是hadoop的一个子项目。

二、安装配置

1.环境说明

操作系统 主机名 IP地址
CentOS-7.2 zookeeper01 172.16.120.180
CentOS-7.2 zookeeper02 172.16.120.181
CentOS-7.2 zookeeper03 172.16.120.182

2.获取安装包

wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz

3.解压

tar fxz zookeeper-3.4.8.tar.gz -C /usr/local

4.创建软链接

ln -s /usr/local/zookeeper-3.4.8 /usr/local/zookeeper

5.生成配置文件

cd /usr/local/zookeeper/conf

cp zoo_sample.cfg zoo.cfg

6.修改配置

vim /usr/local/zookeeper/conf/zoo.cfg

dataDir=/usr/local/zookeeper/data
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181
server.0=172.16.120.180:2888:3888
server.1=172.16.120.181:2888:3888
server.2=172.16.120.182:2888:3888

注:三台zookeeper服务器的配置一样

配置参数说明

tickTime: 客户端与服务器或者服务器与服务器之间维持心跳时间(ms)

initLimit: Leader允许Follower在 initLimit 时间内完成这个工作(ticktime数量)

syncLimit: 集群中flower服务器(F)跟leader(L)服务器之间的请求和答应最多能容忍的心跳数

dataDir: 该属性对应的目录是用来存放myid信息跟一些版本,日志,跟服务器唯一的ID信息等

clientPort:客户端连接端口

server.A=B:C:D配置项

A:这是一个数字,表示这是第几号服务器

B:A服务器的IP地址

C:通讯端口,即A服务器与集群中Leader 服务器交换信息的端口

D:选举通讯端口,表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader

7.创建myid文件

server0服务器:

touch /usr/local/zookeeper/data/myid

echo 0 > /usr/local/zookeeper/data/myid

server1服务器:

touch /usr/local/zookeeper/data/myid

echo 1 > /usr/local/zookeeper/data/myid

server2服务器:

touch /usr/local/zookeeper/data/myid

echo 2 > /usr/local/zookeeper/data/myid

8.启动服务

/usr/local/zookeeper/bin/zkServer.sh start

三、日志配置

  1. 修改log4j.properties
    zookeeper.root.logger=INFO,ROLLINGFILE
    log4j.appender.ROLLINGFILE=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.ROLLINGFILE.MaxFileSize=10MB
  2. 还需要改${zkhome}/bin/zkEnv.sh
    if [ "x${ZOO_LOG_DIR}" = "x" ]
    then
    ZOO_LOG_DIR="/usr/local/zookeeper/logs/zookeeper"
    fi
    if [ "x${ZOO_LOG4J_PROP}" = "x" ]
    then
    ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
    fi

    3.移除zookeeper.out

    修改 bin/zkServer.sh

    _ZOO_DAEMON_OUT="$ZOO_LOG_DIR/zookeeper.log"

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号