美文网首页
Storm开发——Zookeeper集群设置(单例)

Storm开发——Zookeeper集群设置(单例)

作者: 浪尖的游鱼 | 来源:发表于2019-04-02 20:28 被阅读0次

    Storm开发环境装配详见《原生腾讯云centos7.5 Apache Storm搭建指南
    》(备注:为了降低配置环境时,因为权限、目录等影响,游鱼默认用的是root用户,并且关闭了防火墙。但是有关问题还是会提到的,只要要执行注意了。另外./指的是zookeeper的根目录)

    Zookeeper集群配置文件详解

    创建myid

    #鱼将快照目录创建在./data目录下面,myid需要创建在快照目录下,没有请新建
    > cd ./data
    > vi myid
    1
    > :wq
    

    from ./conf/zoo.cfg

    # 每次心跳的毫秒数
    tickTime=2000
    # 同步阶段允许的最大的无反馈心跳次数(超过判断阵亡) 
    initLimit=5
    # master和worker之间发送和收到回应的时间长度可以容忍在两次心跳的时间长度之间
    syncLimit=2
    # 快照存储的目录.
    # 不要用/tmp,/tmp在这里是临时文件
    # 示例如下.
    dataDir=/usr/local/zookeeper/zookeeper-3.4.13/data
    #dataLogDir=/usr/local/zookeeper/zookeeper-3.4.13/logs
    server.1=xxxx:2888:3888
    # 客户端呼叫的端口
    clientPort=2181
    # 客户端最大的连接数.
    # 如果你要处理更多的客户端增加此值
    #maxClientCnxns=60
    #
    # 使用autopurge之前务必阅读管理员指南部分(链接如下).
    #http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
    #
    # 需要保存在dataDir中快照的数量
    #autopurge.snapRetainCount=3
    # 以小时为单位清除任务
    # 设置为零禁用清除
    #autopurge.purgeInterval=1
    

    Zookeeper生产环境配置

    第一件事:配置全局变量
    这里关联文章《结构化知识谱·Linux编程基础知识进阶篇(指令)》,虽然这文章是之前记笔记写的很乱,但是为怎么到这改,为什么这么执行,在这篇文章里面都有详解。

    > vi ~/.bashrc
    #添加如下几行(鱼的安装路径用的是/usr/local,个人按照自己的情况处理)
    export JAVA_HOME=/usr/local/java/jdk1.8.0_221
    export JRE_HOME=${JAVA_HOME}/jre
    export ZOOKEEPER_HOME=/usr/local/zookeeper/apache-zookeeper-3.5.5-bin
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$ZOOKEEPER_HOME/lib:
    export PATH=${JAVA_HOME}/bin:$ZOOKEEPER_HOME/bin:$PATH
    #生效
    > source ~/.bashrc
    

    第二件事:配置防火墙(7用的firewall)

    #查看防火墙配置
    > firewall-cmd --list-all 
    #开放端口
    > firewall-cmd --permanent --add-port=2181/tcp
    > firewall-cmd --permanent --add-port=2888/tcp
    > firewall-cmd --permanent --add-port=3888/tcp
    #重启防火墙
    > firewall-cmd --reload
    

    开启zookeeper服务

    > ./bin/zkServer.sh start
    #备注:突然发现一个错误,这个版本应该是取消dataLogDir设定了,具体待查
    ####检查结果:需要清空./data的内容
    #检查
    > ./bin/zkServer.sh status
    ZooKeeper JMX enabled by default
    Using config: /usr/local/zookeeper/zookeeper-3.4.13/bin/../conf/zoo.cfg
    Mode: standalone
    #standalone表示单例执行,注意有报错要查看防火墙端口和配置文件有错
    

    注册服务(感谢https://www.cnblogs.com/zhangmingcheng/p/7455278.html

    > cd /etc/rc.d/init.d/
    > touch zookeeper
    > chmod a+x zookeeper
    > vi zookeeper
    #看下面,内容如下
    #!/bin/bash
    #chkconfig:2345 10 90
    #description:service zookeeper
    export     ZOO_LOG_DIR=/usr/local/zookeeper/zookeeper-3.4.13/logs
    ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.4.13
    case  "$1"   in
         start)  su  root  ${ZOOKEEPER_HOME}/bin/zkServer.sh  start;;#开启服务
         start-foreground)  su  root ${ZOOKEEPER_HOME}/bin/zkServer.sh   start-foreground;;#前台执行
         stop)  su  root  ${ZOOKEEPER_HOME}/bin/zkServer.sh  stop;;#停止服务
         status)  su root  ${ZOOKEEPER_HOME}/bin/zkServer.sh    status;;#检查服务状态
         restart)  su root   ${ZOOKEEPER_HOME}/bin/zkServer.sh   restart;;#重启服务
         upgrade)su root  ${ZOOKEEPER_HOME}/bin/zkServer.sh  upgrade;;#升级服务
         print-cmd)su root  ${ZOOKEEPER_HOME}/bin/zkServer.sh  print-cmd;;查看服务启动参数
         *)  echo "require start|start-foreground|stop|status|restart|print-cmd";;#命令提示行
    esac
    #shell的指令详见[Linux编程基础知识进阶篇(指令)](https://www.jianshu.com/p/ef1c5e904105)
    

    注册开机自启

    > chkconfig --add zookeeper
    #查看状态
    > chkconfig --list
    zookeeper       0:off   1:off   2:on    3:on    4:on    5:on    6:off
    #chkconfig 的意思详见链接
    #https://www.cnblogs.com/qmfsun/p/3847459.html
    

    以上,standalone已配置完成,多server配置敬请期待(其实就是差几个虚拟机,配置上差异就是在zoo.cfg内容要加入多个server。鱼不把多server配置当做必要任务,会优先研究Storm开发)

    本文文集链接Storm开发历程
    原生腾讯云centos7.5 Apache Storm搭建指南

    相关文章

      网友评论

          本文标题:Storm开发——Zookeeper集群设置(单例)

          本文链接:https://www.haomeiwen.com/subject/ibfslqtx.html