Zookeeper安装与配置

本文详细介绍Zookeeper的安装步骤及配置方法,包括系统环境准备、JDK安装配置、Zookeeper单机与集群模式配置等关键环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    Zookeeper主要可以干哪些事情:配置管理,名字服务,提供分布式同步以及集群管理。那这些服务又到底是什么呢?我们为什么需要这样的服务?我们又为什么要使用Zookeeper来实现呢,使用Zookeeper有什么优势?接下来我会挨个介绍这些到底是什么,以及有哪些开源系统中使用了。
    Zookeeper管网:   http://zookeeper.apache.org

1. 系统环境及配置环境变量

    CentOS 5.10 x86_64

    JDK.1.6.0_33

    Zookeper3.4.6


在/etc/profile.d目录下增加java.sh脚本(也可以修改用户的bash配置文件:~/.bash_profile),内容如下:

# vi /etc/profile

#-------------------zkServer & jdk home begin-----------------------------------

export JAVA_HOME=/usr/local/jdk1.6.0_33

export JRE_HOME=$JAVA_HOME/jre

export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.6

export CLASSPATH=$JAVA_HOME/lib/:$JAVA_HOME/lib/jer/lib:$CLASSPATH

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf

#-------------------zkServer & jdk home end----------------------------------

使环境变量生效

# source /etc/profile


2.  安装JDK并环境变量

ZooKeeper 要求JAVA 的环境才能运行,并且需要 JAVA6 以上的版本,可以从 SUN官网上下载,

安装脚本:

 # chmod 755 jdk-6u6-linux-i586.bin

 # ./jdk-6u6-linux-i586.bin

 # mv jdk1.6.0_32/ /usr/local

测试JDK安装是否正确

[root@localhost ~]# java -version

java version "1.6.0_33"

OpenJDK Runtime Environment (IcedTea6 1.13.5) (rhel-1.13.5.0.el5_11-x86_64)

OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)


3. 安装Zookeeper

3.1 下载安装

下载zookeeper的安装包之后, 解压到合适目录. 进入zookeeper目录下的conf子目录, 创建zoo.cfg:

# wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

# tar zxvf zookeeper-3.4.6.tar.gz

# mv zookeeper-3.4.6 /usr/local/

# cd /usr/local/zookeeper-3.4.6

3.2 单机模式配置

# cd conf

# cp zoo_sample.cfg zoo.cfg 

# vom zoo.cfg

tickTime=2000
dataDir=/data/zookeeper
clientPort=2181

配置文件参数说明

  • tickTime: zookeeper中使用的基本时间单位, 毫秒值
  • dataDir: 顾名思义就是 Zookeeper 保存数据的目录。
  • dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置.
  • clientPort: 监听client连接的端口号.          

    3.3 集群模式

    # cd conf

    # cp zoo_sample.cfg zoo.cfg 

    # vom zoo.cfg

    tickTime=2000
    initLimit=10
    syncLimit=5

    dataDir=/data/zookeeper
    clientPort=2181
    server.1=192.168.1.11:2888:3888 
    server.2=192.168.1.12:2888:3888   
    server.3=192.168.1.13:2888:3888 

    配置文件参数说明

  • initLimit: zookeeper集群中的包含多台server, 其中一台为leader, 集群中其余的server为follower. initLimit参数配置初始化连接时, follower和leader之间的最长心跳时间. 此时该参数设置为5, 说明时间限制为5倍tickTime, 即5*2000=10000ms=10s.
  • syncLimit: 该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度. 此时该参数设置为2, 说明时间限制为2倍tickTime, 即4000ms.
  • server.X=A:B:C 其中X是一个数字, 表示这是第几号server. A是该server所在的IP地址. B配置该server和集群中的leader交换消息所使用的端口. C配置选举leader时所使用的端口.

    如果配置的是伪集群模式(1台服务器上部署3个ZK服务), 需要将整个目录复制2份,并修改dataDIR,clientPort,以及各个server的B, C参数也必须不同.

    设置myid

    在我们配置的dataDir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字,例如:

    # echo "1" > /data/zookeeper/myid

    3.4 启动,停止服务

    启动服务

    # bin/zkServer.sh start

    关闭服务

    # bin/zkServer.sh stop

    连接测试

    # bin/zkCli.sh -server 127.0.0.1:2181 


    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值