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开发)
网友评论