【问题标题】:ZooKeeper not getting startedZooKeeper 没有开始
【发布时间】:2016-03-17 07:53:59
【问题描述】:

我在启动 zookeeper 时遇到问题。 zoo.cfg 文件是

# The number of milliseconds of each tick
tickTime=2000
dataDir=/Users/admin/Documents/delete/zookeeper/zookeeper-3.4.6/zookeeperdata/1
clientPort=2181
initLimit=5
syncLimit=2
server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890

我在启动 zookeeper 时没有看到任何错误:

nohup ./bin/zkServer.sh start zoo.cfg
JMX enabled by default
Using config: /Users/admin/Documents/delete/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

还可以看到一个新的进程 ID:

cat /Users/admin/Documents/delete/zookeeper/zookeeper-3.4.6/zookeeperdata/1/zookeeper_server.pid 
14120

但在检查进程状态时,出现以下错误:

bin/zkServer.sh status
JMX enabled by default
Using config: /Users/admin/Documents/delete/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg
Error contacting service. It is probably not running

你能帮忙吗?

【问题讨论】:

    标签: apache-zookeeper


    【解决方案1】:
    server.1=localhost:2888:3888
    server.2=localhost:2889:3889
    server.3=localhost:2890:3890
    

    这意味着您正在设置 ZooKeeper 集合,而 zk-ensamble 的规则之一是服务器需要形成多数才能被允许回答请求。这意味着 zk-server 在形成多数之前不会运行。

    要从status 获得信息丰富的答案,您需要至少运行 3 台服务器中的 2 台才能运行 3 台服务器集成。从您的配置中删除这些行或启动另一台服务器。 (并确保服务器具有不同的 'dataDir' 和 'myid'。)

    (很多人误解的是,必要的多数不是已启动服务器中的多数,而是配置中服务器中的多数。)

    【讨论】:

    • 我在端口 2888:3888、2889:3889 和 2890:3890 上有 3 个 solrCloud 实例。仍然得到同样的错误。从 zookeeper.out 得到以下错误:
    • cat zookeeper.out 2016-03-17 13:37:52,597 [myid:] - INFO [main:QuorumPeerConfig@103] - 从 /Users/admin/Documents/delete/zookeeper 读取配置/zookeeper-3.4.6/bin/../conf/zoo.cfg 2016-03-17 13:37:52,601 [myid:] - 信息 [main:QuorumPeerConfig@340] - 默认为多数仲裁 2016-03-17 13:37:52,602 [myid:] - 错误 [main:QuorumPeerMain@85] - 无效配置,异常退出 org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException:错误处理 /Users/admin/Documents/delete/zookeeper /zookeeper-3.4.6/bin/../conf/zoo.cfg 在
    • 引起:java.lang.IllegalArgumentException:/Users/admin/Documents/delete/zookeeper/zookeeper-3.4.6/zookeeperdata/1/myid 文件在 org.apache.zookeeper.server 丢失.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:350) at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:119) ... 2 更多无效配置,异常退出
    • /Users/admin/Documents/delete/zookeeper/zookeeper-3.4.6/zookeeperdata/1/myid file is missing 这就是为什么我说,确保服务器有myid您可以通过创建一个名为 myid 的文件将服务器 id 分配给每台机器,每个服务器都有一个文件,该文件位于该服务器的数据目录中,由配置文件参数 dataDir 指定。来自zookeeper.apache.org/doc/r3.3.2/zookeeperAdmin.html跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 2012-05-01
    • 2018-12-02
    • 2021-08-14
    相关资源
    最近更新 更多