zookeeper集群搭建与配置

现在zookeeper相当的火热,基本上分布式开源软件都会使用zookeeper,而且很多开源软件之中会自带zookeeper,但是我们当然希望这些软件都使用一套zookeeper来进行管理,所有我们需要搭建自己的zookeeper群。


这里我搭建zookeeper集群主要供hadoop与kafka集群使用

下面就开始教程,基本上与网上的其他教程差不多


第一步 准备工作

  1. 准备机器,我准备搭载一个三个节点的zookeeper,使用三台虚拟pc来搭载,安装虚拟机后注意要修改 hosts 文件,将三台节点的 host都要填入进去。(修改hosts都快成为了使用开源软件的必备第一步,确实很重要)
  2. 下载zookeeper 我下载的是,3.4.8版本的
    下载地址
    http://zookeeper.apache.org/releases.html
  3. 解压文件

第二步 修改配置文件

  1. 修改zookeeper的配置文件,在zookeeper的
    Conf目录下

    cp zoo_sample.cfg  zoo.cfg
    vim zoo.cfg
    
  2. 主要修改的内容有两部分:dataDir、server.*
    dataDir主要是存放zookeeper的数据
    server.*放置server的ip与端口

    #我的配置如下,注意要删掉此段中文
    dataDir=/home/lee/tmp/zookeeper
    server.1=hadooplee1:2888:3888
    server.2=hadooplee2:2888:3888
    server.3=hadooplee3:2888:3888
    

第三步 创建文件,准备运行

  1. 创建 dataDir目录,在该目录下新建一个myid的文件,写入serverList的序号
    eg:

    mkdir /home/lee/tmp
    mkdir /home/lee/tmp/zookeeper
    
    
    #myid文件
    1
    
  2. 运行zookeeper

    //启动zookeeper,三台机器都要
    ./bin/zkServer.sh start  
    //查看zookeeper集群运行状态,每台都看一下
    ./bin/zkServer.sh status
    
  3. 如果发现运行失败,使用以下代码可以查看zookeeper的启动运行日志

    zkServer.sh start-foregroud
    

常见问题

  1. 问题1:
    编辑zoo.cfg配置文件时,指定了log的输出目录,但是却未创建。
    解决方案:因此需要按照里面指定的目录进行创建。

    mkdir /tmp/zookeeper/log
    
  2. 问题2:
    检查配置zoo.cfg配置发现是该节点的主机名写错了;先停止三个节点zookeeper服务,逐一的修改节点上zoo.cfg配置文件,在逐一的启动 ,结果显示正常;
    zk的安装搭建过程中, 如果报错, 一定要把status中的错误贴出来, 其它的信息不容易找到答案

  3. 问题3:
    Caused by: java.lang.IllegalArgumentException: ./zookeeper/myid file is missing
    myid文件放错位置或者没有

  4. 其他:
    可以使用screen来 新建不同的session来进行后台运行,或者将zookeeper加入 rc.local文件,来进行开机运行。
    Screen 是linux下的一个中高级技巧,通过screen命令创建的环境下运行的终端命令,其父进程不是sshd登陆回话,而是screen。这样就可以避免了用户退出进程消失的问题,同时又能重新接管回终端继续操作。也就是实现了后台运行

    新建
    screen –dmS 名
    连接
    screen –r 名
    跳出该screen
    Ctrl+A+D
    列出所有的screen
    screen –list
    

参考文献: http://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值