zookeeper 部署运维指南


相关约定

事务日志目录: /data0/zookeeper/log
数据目录: /data1/zookeeper/data
工作日志目录: / data0/zookeeper/logs


一、下载安装zookeeper

二、主要配置

  • mkdir /data0/zookeeper/{log,logs}
  • mkdir /data1/zookeeper/data
     * cd /usr/local/zookeeper
  • cp conf/zoo_sample.cfg conf/zoo.cfg
  • vim conf/zoo.cfg
  • 修改添加
* dataDir=/data1/zookeeper/data
* dataLogDir=/data0/zookeeper/log
  • 追加如下3条
* autopurge.purgeInterval=2 
* autopurge.snapRetainCount=24 
* zk.connectiontimeout.ms=100000
  • 配置server列表,格式为server.MYID=IP:2888:3888
* 例如:
        server.1=10.13.56.164:2888:3888
        server.2=10.13.56.165:2888:3888
        server.3=10.13.56.166:2888:3888
  • 根据上述指定的myid值 echo MYID > myid
* 例如10.13.56.164这台机器应 echo 1 > /data1/zookeeper/data/myid

三、工作日志存储方式修改

  • vim conf/log4j.properties 并修改如下:
* zookeeper.root.logger = INFO, ROLLINGFILE
* zookeeper.log.dir=/data0/zookeeper/logs
* log4j.appender.ROLLINGFILE=org.apache.log4j.DailyRollingFileAppender
  • vim bin/zkEnv.sh 并修改如下:
* ZOO_LOG_DIR="/data0/zookeeper/logs"
* ZOO_LOG4J_PROP="INFO,ROLLINGFILE"

四、启动zookeeper

依次登录集群中各机器执行如下命令:
  • bin/zkServer.sh start &
    一般情况下,集群中有超过半数的实例成功启动后,zookeeper服务便可用

五、常用运维

由于zookeeper遇到未知错误后,会抛出异常并终止进程,所以为了减少运维工作,需要提供一种检测&重启的机制,在此介绍一种我使用的daemontools工具
  • daemontools(http://cr.yp.to/daemontools.html)是一个管理UNIX下服务的工具集。supervise监视一个服务。它启动一个服务、当服务停掉时它会重起服务。
    
  • 安装daemontools
  • mkdir /tmp/package
  • chmod 755 /tmp/package
  • cd /tmp/package
  • wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
    • tar zxvf daemontools-0.76.tar.gz
    • cd ./admin/daemontools-0.76
    • vim ./src/error.h 找到:extern int errno; 改成:#include <errno.h>
    • ./package/install 需要root
  • 监控Zookeeper
* 在/data0/service下,新建文件夹zookeeper,新建run文件:
* cd /data0/service
* mkdir zookeeper
* cd zookeeper
* vim run
* chmod 755 run
* run内容:

#!/bin/bash exec 2>&1 exec /usr/local/zookeeper/bin/zkServer.sh start

  • 运行:
* supervise /data0/service/zookeeper

//或者可以用nohup以后台方式运行。如下:
* nohup supervise /data0/service/zookeeper &

如果出现
supervise: fatal: unable to acquire /service/zookeeper/supervise/lock: temporary failure
快速rm /data0/service/zookeeper/supervise 重新执行 supervise /service/zookeeper 即可

  • 验证监控zookeeper是否成功:
    kill zookeeper进程,查看zookeeper的进程是否自动重启
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容