`
futeng
  • 浏览: 260611 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

myid文件缺失导致zk无法启动(myid file is missing)

阅读更多

myid文件缺失

现象:zookeeper无法启动;

异常:$dataDir/myid file is missing;

原因:zk集群中的节点需要获取myid文件内容来标识该节点,缺失则无法启动;

解决:在zk数据文件存放目录下(见 $ZK/conf/zoo.cfg,dataDir属性),创建myid文件并写入一个数字用来标识本节点(类似这个节点的身份证)。

 

 

#示例节点 dataDir=/home/crxj-coll/zookeeper-3.4.5/data
cd /home/crxj-coll/zookeeper-3.4.5/data
#这个节点准备命名为 第8号节点,新建文件myid并写入数字8
echo '8' > /var/tmp/zookeeper/myid

 

 

发现

PO主今天重启了下服务器,突然发现集群都无法工作了。查看zookeeper.out里面的日志输出,发现myid文件没有了。
myid文件用来在zk集群中标识本节点的编号,缺失后将无法启动。
于是着手重建myid文件。先在zoo.cfg中找到dataDir属性,发现数据文件存放与/var/tmp目录下,是的你没有看错,确实将数据文件存放在了/var/tmp目录下。PO主在重启机器之后该临时目录就被自动清除了Orz.
怎么就脑洞大开放到临时目录下,PO主到现在仍百思不得其解。
后面将dataDir转移到zk根目录就略过不表了。

 

详细异常贴下:

org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing /home/crxj-coll/zookeeper-3.4.5/bin/../conf/zoo.cfg
    at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:121)
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:101)
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)
Caused by: java.lang.IllegalArgumentException: /var/tmp/zookeeper/myid file is missing
    at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:344)
    at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:117)
    ... 2 more
Invalid config, exiting abnormally

 

转载请标明作者和原文链接

ifuteng#gmail.com 2014/8/26
1
0
分享到:
评论

相关推荐

    个人搭建遇到zookeeper启动jps没有进程原因

    搭建问题遇到的总结几点,便于找查问题 1)检查配置文件是否有...当ZooKeeper服务器实例启动时,它从myid文件读取其id ,然后使用该id从配置文件中读取,查找它应该监听的端口。 第二,myid文件中的整数格式不对,或者

    MyID3_for_Android

    一个读取mp3 ID3 tag信息的类库,含源码

    GoodJob_MindStorm.v1_ea_mt4_

    ea goodjob for metatrader

    myid-test-api

    myid-test-api

    zookeeper-3.3.6.tar.gz

    除了修改 zoo.cfg 配置文件,集群模式下还要配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面就有一个数据就是 A 的值,Zookeeper 启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较...

    分布式即时聊天服务器zkfire.zip

     zoo中的节点server用于配置zookeeper的集群,myid指定本身zookeeper服务器的myid值,server.X 这个数字就是对应myid中的数字,集群中不同zk服务器的myid值不同。  zoo中其他节点的内容皆对应zk配制文件的键值...

    zookeeper 集群搭建1

    1.zookeeper 集群搭建 1. 在每个zookeeper的data目录下创建一个myid文件 文件的内容分别是1 2 3 这个文件 2. 在每个zook

    vr-cinema:基于Viewzavr的CinemaScience 3d查看器及其组件

    然后在工件名称中使用该MYID: FILE_{MYID}_some ,例如:FILE_vtkpoints_lava。 例如,请参阅目录。 版权 在2020年由的科学监督领导的俄罗斯科学院NN Krasovskii研究所的计算机可视化实验室开发了3d场景描述的呈现...

    Hadoop-2.0.0-cdh4.3.0安装手册.

    2.1.3 第三步:创建myid 9 2.1.4 第四步:配置环境变量 9 2.1.5 第五步:测试 9 2.2 hadoop 10 2.2.1 第一步:解压 10 2.2.2 第二步:配置core-site.xml 11 2.2.3 第三步:配置hdfs-site.xml 11 2.2.4 第四步:配置...

    哲学家就餐问题(整理)

    哲学家就餐问题(整理)的几个总结WaitForSingleObject(mutex, INFINITE); cout << "philosopher " << myid ; ReleaseMutex(mutex);... cout << "philosopher " << myid << " is : " ; ReleaseMutex(mutex);

    zookeeper部署与基本操作.docx

    2.编辑myid文件,在文件中添加服务器的编号时,要小心不要打错 3.从hadoop01同步zookeeper目录到hadoop02、hadoop03用xsynx 4.配置zoo.cfg,2888是这个服务器Follower与集群中的Leader服务器交换信息的端口;3888是...

    docker-zookeeper:Baqend的Apache ZooKeeper Docker映像

    特别是,我们希望docker容器自主创建ZooKeeper myID文件,以便我们可以在单行语句中生成ZooKeeper容器。 我们目前尚不知道另一种简单的方法可以做到这一点。 更多相关资源: 我们 的 简单的多节点合奏 假设您要在...

    刚做的一个投票系统

    功能齐全,有后台管理添加投票,删除,修改等,用到一些基本的session,(可以方便的进行一次性添加,删除再来更新)和javascrpit... myid=rs.getString("myid"); System.out.println("当前选题的序号是:" myid); }

    HadoopHA集群部署、ZooKeeper安装与配置教学课件.pptx

    任务二 编辑Zookeeper配置文件;任务三 创建zkdata和zkdatalog文件夹;任务四 设置Zookeeper节点对应的ID(myid);任务五 配置Zookeeper环境变量;任务六 分发Zookeeper到其他Zookeeper节点;任务七 修改其他Zookeeper...

    计算pi的并行实验源代码

    int done = 0, n, myid, numprocs, i; double PI25DT = 3.141592653589793238462643; double mypi, pi, h, sum, x; double startwtime, endwtime; int namelen; char processor_name[MPI_MAX_PROCESSOR_NAME];...

    redis主从模式与哨兵模式例子

    # 如果10秒后,mymaster仍没启动过来,则启动failover sentinel monitor mymaster 127.0.0.1 6380 2 # 执行故障转移时,最多有1个从服务器同时对新的主服务器进行同步 sentinel down-after-milliseconds mymaster ...

    My_ID3_for_Android

    Android ID3 编辑SDK jar

    jQuery load方法用法集锦

    调用load方法的完整格式是:load( url, [data], [callback] ),其中 url:是指要导入文件的地址。 data:可选参数;因为Load不仅仅可以导入静态的html文件,还可以导入动态脚本,例如PHP文件,所以要导入的是动态文件...

    jquery中load方法的用法及注意事项说明

    调用load方法的完整格式是:load( url, [data], [callback] ),其中 url:是指要导入文件的地址。 data:可选参数;因为Load不仅仅可以导入静态的html文件,还可以导入动态脚本,例如PHP文件,所以要导入的是动态文件...

    aliddns:aliyun ddns for golang【阿里云DDNS服务,用于将自己的动态IP同步到自己的域名解析服务器,安装方便,配置简单,可以支持Linux和MacOS以后台服务方式持续运行】

    aliddns -c /path/to/config/file/aliddns.yaml 要不就: aliddns (使用默认配置文件:./ aliddns.yaml) 要么: aliddns run -i myid -k mykey -m iothub.cloud -s www -c 60 -i {AccessId} -k {AccessKey} -...

Global site tag (gtag.js) - Google Analytics