IllegalArgumentException:缺少/ tmp/zookeeper/myid文件

dsa*_*dsa 5 amazon-ec2 apache-kafka apache-zookeeper

我试图通过遵循这个要点在EC2的多个实例上配置Kafka ,但是我收到以下错误:

我正在运行此命令:

$ bin/zookeeper-server-start.sh config/zookeeper.properties &
Run Code Online (Sandbox Code Playgroud)

1 13308

错误:

[2017-03-22 08:21:00,314] ERROR Invalid config, exiting abnormally (org.apache.zookeeper.server.quorum.QuorumPeerMain)
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing config/zookeeper.properties
    at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:123)
    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: /tmp/zookeeper/myid file is missing
    at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:350)
    at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:119)
    ... 2 more
Run Code Online (Sandbox Code Playgroud)

zookeeper.conf的如下图所示:

dataDir=/tmp/zookeeper
# the port at which the clients will connect
#clientPort=2181
clientPort=2080
# disable the per-ip limit on the number of connections since this is a non-production config
maxClientCnxns=0


server.1=ec2-<GLOBAL_IP_1>.amazonaws.com:2888:3888
server.2=ec2-<GLOBAL_IP_2>.amazonaws.com:2888:3888
#add here more servers if you want
initLimit=5
syncLimit=2
tickTime=2000
Run Code Online (Sandbox Code Playgroud)

fra*_*ijo 5

服务器启动时,它通过myid在数据目录中查找文件来知道它是哪台服务器。

创建一个名为文件myid下的dataDir/tmp/zookeeper为每个Zookeeper服务器。

myid文件应包含相应的服务器号,以ASCII码表示(例如:)1,作为其中的唯一条目。