zookeeper集群搭建与配置

来源:互联网 发布:如何优化前端页面 编辑:程序博客网 时间:2024/05/20 16:33

现在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.cfgvim zoo.cfg
  2. 主要修改的内容有两部分:dataDir、server.*
    dataDir主要是存放zookeeper的数据
    server.*放置server的ip与端口

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

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

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

    mkdir /home/lee/tmpmkdir /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 名跳出该screenCtrl+A+D列出所有的screenscreen –list

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

1 0
原创粉丝点击