Zookeeper在windows下建立伪集群,myid存在,并且内容我设置为1.还是一直报myid is missing
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zookeeper在windows下建立伪集群,myid存在,并且内容我设置为1.还是一直报myid is missing相关的知识,希望对你有一定的参考价值。
D:\Zookeeper\zookeeper-3.3.6-server1\bin>zkServer.cmdD:\Zookeeper\zookeeper-3.3.6-server1\bin>java "-Dzookeeper.log.dir=D:\Zookeeper\zookeeper-3.3.6-server1\bin\.." "-Dzookeeper.root.logger=INFO,CONSOLE" -cp "D:\Zookeeper\zookeeper-3.3.6-server1\bin\..\build\classes;D:\Zookeeper\zookeeper-3.3.6-server1\bin\..\build\lib\*;D:\Zookeeper\zookeeper-3.3.6-server1\bin\..\*;D:\Zookeeper\zookeeper-3.3.6-server1\bin\..\lib\*;D:\Zookeeper\zookeeper-3.3.6-server1\bin\..\conf" org.apache.zookeeper.server.quorum.QuorumPeerMain "D:\Zookeeper\zookeeper-3.3.6-server1\bin\..\conf\zoo.cfg"2016-07-07 14:13:21,461 - INFO [main:QuorumPeerConfig@90] - Reading configuration from: D:\Zookeeper\zookeeper-3.3.6-server1\bin\..\conf\zoo.cfg2016-07-07 14:13:21,466 - INFO [main:QuorumPeerConfig@310] - Defaulting to majority quorums2016-07-07 14:13:21,467 - FATAL [main:QuorumPeerMain@83] - Invalid config, exiting abnormallyorg.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing D:\Zookeeper\zookeeper-3.3.6-server1\bin\..\conf\zoo.cfg at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:110) at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:99) at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:76)Caused by: java.lang.IllegalArgumentException: D:\Zookeeper\zookeeper-3.3.6-server1\zkData\myid file is missing at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:320) at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:106) ... 2 moreInvalid config, exiting abnormallyD:\Zookeeper\zookeeper-3.3.6-server1\bin>endlocalD:\Zookeeper\zookeeper-3.3.6-server1\bin>
我也是在windows下搭建环境,同样问题,最后结合了回答中两位大佬的方法搞定了:
windows下路径得这么写:D:\\\\Zookeeper\\\\zookeeper-3.3.6-server1\\\\bin\\\\xxx
myid后缀名删除,无论是.text还是.txt都不行,一律删除就好了
顺便吐槽:同样版本的zk,单机启动时,上述两点都不需要遵守就可以,集群就不行,这是最坑的。如果单机也一样问题没准早就发现了!折腾一上午,靠!PS,旁边研发同学跟我说ZK其实单机和集群完全是两套代码,嗯,看来他说的是对的。
参考技术A 今天我也遇到了这个问题。最后发现,找不到myid文件的原因是在windows环境中,你的myid文件多了后缀名,把后缀名.text或.txt删掉后即可正常启动。 参考技术Bwindows 下的路径这么写:D:\\\\Zookeeper\\\\zookeeper-3.3.6-server1\\\\bin\\\\xxx 或者
D:/Zookeeper/zookeeper-3.3.6-server1/bin/xxx
(斜线) 楼主的路径应该是拷贝来的吧,顺便啰嗦一句,不建议在windows下搭建环境...
参考技术C Winter is a cold season. Though the temperature is very low,but I like it ,I can play with my frends in the playground .I think I can watch TV at home instead of walking outside .So I like winter,because I can do something which is interesting. 参考技术D .text? .txt还比较能理解一点,myid没有后缀centos7环境下zookeeper的搭建步骤之单机伪集群
首先说明:这里是单机版的伪集群搭建
第一步:下载zookeeper:
zookeeper的下载地址:
http://mirror.bit.edu.cn/apache/zookeeper/
第二步:安装:
将下载的zookeeper上传到linux系统中,使用命令解压
tar -zxvf zookeeper-3.4.10.tar.gz
查看解压的文件:
ls
进入zookeeper-3.4.10/conf/目录下:
cd zookeeper-3.4.10/conf/
在/zookeeper-3.4.10/conf/文件夹下,复制zoo_sample.cfg文件
分别命名为zoo1.cfg\\zoo2.cfg\\zoo3.cfg
修改里面的配置信息:
zoo1.cfg
dataDir=/tmp/zookeeper/data_1 dataLogDir=/tmp/zookeeper/logs_1 server.0=localhost:2287:3387 server.1=localhost:2288:3388 server.2=localhost:2289:3389
zoo2.cfg
dataDir=/tmp/zookeeper/data_1 dataLogDir=/tmp/zookeeper/logs_1 server.0=localhost:2287:3387 server.1=localhost:2288:3388 server.2=localhost:2289:3389
zoo3.cfg
dataDir=/tmp/zookeeper/data_1 dataLogDir=/tmp/zookeeper/logs_1 server.0=localhost:2287:3387 server.1=localhost:2288:3388 server.2=localhost:2289:3389
在这里要切记,/tmp/zookeeper/data_1目录自己手动建好,并且创建一个myid文件,以此类推:
对应data_1下的myid值为0,
对应data_2下的myid值为1,
对应data_3下的myid值为2,
最后可以配置一下日志的输出地址:
在zookeeper-3.4.10目录下执行启动命令:
./bin/zkServer.sh start zoo1.cfg
输出信息:
ZooKeeper JMX enabled by default Using config: /home/zookeeper/zookeeper-3.4.10/bin/../conf/zoo1.cfg Starting zookeeper ... STARTED
查看端口是否启动:
netstat -ntlp
以此方法启动其他两个:
./bin/zkServer.sh start zoo2.cfg ./bin/zkServer.sh start zoo3.cfg
查看端口:netstat -ntlp
查看启动状态:
jps
输出信息:
查看集群间的关系:zoo1为follower,zoo2为leader,zoo3为follower
停止zoo2:
查看开启的端口:
查看服务状态:zoo3为leader,zoo1为follower
启动zoo2,并查看:
亲测好使!!!
以上是关于Zookeeper在windows下建立伪集群,myid存在,并且内容我设置为1.还是一直报myid is missing的主要内容,如果未能解决你的问题,请参考以下文章