加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

程序员笔记 | 一次Zookeeper扩展之殇

发布时间:2019-05-31 02:18:31 所属栏目:教程 来源:毛正卫
导读:副标题#e# 背景 基于公司发展硬性需求,生产VM服务器要统一迁移到ZStack 虚拟化服务器。检查自己项目使用的服务器,其中zookeeper集群中招,所以需要进行迁移。 迁移计划 为了使迁移不对业务产生影响,最好是采用扩容 - 缩容的方式进行。 说明: 原生产集群

1. 尝试进行foreground 模式启动,选择一台非主节点进行重启,可以前台查看启动日志。

  1. zkserver.sh start-foreground  
  2. 节点启动正常,无异常输出。 

2. 查看shell脚本:分析zkServer.sh。

"Error contacting service. It is probably not running." 这块日志出现以下脚本中。

  1. STAT=`"$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}"  
  2.              -cp "$CLASSPATH" $JVMFLAGS org.apache.zookeeper.client.FourLetterWordMain  
  3.              $clientPortAddress $clientPort srvr 2> /dev/null     
  4.           | grep Mode` 
  5.     if [ "x$STAT" = "x" ] 
  6.     then 
  7.         echo "Error contacting service. It is probably not running." 
  8.         exit 1 
  9.     else 
  10.         echo $STAT 
  11.         exit 0 
  12.     fi 
  13.     ;; 

截取其中一部分脚本内容:我们可以初步定为应该是 $STAT 获取存在异常 如果STAT变量为空,则会显示Error contacting service. It is probably not running.: OK,那就分析下这个$STAT到底是什么鬼?

  1.  if [ “x$STAT” = “x” ] 
  2. then 
  3. echo “Error contacting service. It is probably not running.” 
  4. exit 1 
  5. else 
  6. echo $STAT 
  7. exit 0 
  8. fi 

3. 尝试用shell的debug模式看下执行过程。

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读