• centos install zookeeper cluster


    1、apache官方下载,

    2、新版本需要jdk环境,然后配置好jdk环境

    3、解压zookeeper,进入解压后的conf,新建zoo.cfg (删掉自带的cfg)内容如下

    tickTime=2000
    initLimit=5
    syncLimit=2
    dataDir=/usr/local/zookeeper/server1/data
    dataLogDir=/usr/local/zookeeper/server1/dataLog
    clientPort=2181
    server.1=node1:2888:3888
    server.2=node2:2889:3889
    server.3=node3:2890:3890
    

    4、检查配置文件里面的datalog 和data 目录是否存在,不然后面启动会报错

    5、在每个节点的data目录新建myid文件,并将id值写进去。。。。不然好多报错。按上面配置文件 举个栗子(echo "1" > /usr/local/zookeeper/data/myid) 节点1 就是1, 2就是2

    6、启动zookeeper

    ./zkServer.sh start
    

     启动这个的时候,会在当前路径生产nohup 的一个日志文件,不明白的可看nohup命令

    7、查看zookeeper状态 和 在集群种的角色

    ./zkServer.sh status
    

     启动成功后,可查看本地端口。

    2888表示zookeeper程序监听端口,3888表示zookeeper选举通信端口。

    之前版本的错误排查

    Error contacting service. It is probably not running错误,在网上找了集中解决办法:
      1,打开zkServer.sh 找到
    status)
        STAT=`echo stat | nc localhost $(grep clientPort "$ZOOCFG" | sed -e 's/.*=//') 2> /dev/null| grep Mode`
    在nc与localhost之间加上 -q 1 (是数字1而不是字母l)
    如果已存在则去掉
    注:在我的zkServer.sh脚本文件里根本没有这一行,所以没有生效

    2, 调用sh zkServer.sh status 遇到这个问题。百度,google了后发现有人是修改sh脚本里的一个nc的参数来解决,可在3.4.6的sh文件里并没有找到nc的调用。配置文档里指 定的log目录没有创建导致出错,手动增加目录后重启,问题解决。
    注:我想不是日志的问题所以这个方法根本就没有试

    3,创建数据目录,也就是在你zoo.cfg配置文件里dataDir指定的那个目录下创建myid文件,并且指定id,改id为你zoo.cfg文件中server.1=localhost:2887:3887中的1.只要在myid头部写入1即可.
    注:这是我的解决办法

  • 相关阅读:
    Unix Shell常用命令
    传输信号
    硬盘 光驱 跳线问题
    常见病毒类型
    Unix操作系统文件结构
    数字模拟信号 单双信道传输
    双绞线
    Unix操作系统目录存放内容
    EasyRecovery数据恢复工具
    什么叫做泛解析
  • 原文地址:https://www.cnblogs.com/shiyiwen/p/5412842.html
Copyright © 2020-2023  润新知