【问题标题】:How to check if ZooKeeper is running or up from command prompt?如何从命令提示符检查 ZooKeeper 是否正在运行或启动?
【发布时间】:2015-05-20 07:43:12
【问题描述】:

我探索了一些设置 kafka 的选项,我知道 Zookeeper 必须启动并运行才能启动 kafka。

我想知道如何找到以下内容。

1) 我的 zookeeper 实例的主机名和端口---我检查了 zoo.cfg,我只能找到 ClientPort 而不是主机名,主机名会是我盒子的主机名吗??

2) 检查 ZooKeeper 是否启动并运行---我尝试执行ps -ef | grep "zoo" 我找不到任何东西。可能是我使用了错误的关键字进行搜索??

任何帮助将不胜感激?

【问题讨论】:

  • 你的意思是from the command prompt on zookeeper's node?还是from the client node's command prompt?

标签: hadoop config apache-zookeeper apache-kafka ps


【解决方案1】:

来自 Windows 10

  • 打开命令提示符然后输入telnet localhost 2181然后你输入srvr
  • 从 bin 文件夹中,打开 PowerShell 窗口并键入 zkServer.sh status

【讨论】:

    【解决方案2】:

    输入以下命令验证zookeeper是否正在运行:

    echo "ruok" | nc localhost 2181 ; echo 
    

    预期回复:imok

    【讨论】:

      【解决方案3】:
      echo stat | nc localhost 2181 | grep Mode
      echo srvr | nc localhost 2181 | grep Mode #(From 3.3.0 onwards)
      

      以上将在 Zookeeper 运行的任何模式下工作(独立或嵌入式)。

      另一种方式

      如果 zookeeper 以独立模式运行,则它是一个 JVM 进程。所以——

      jps | grep Quorum
      

      将显示jvm进程列表;对于具有进程 ID 的 zookeeper 来说是这样的

      HQuorumPeer
      

      【讨论】:

        【解决方案4】:

        检查 Zookeeper 是否可访问。一种方法是简单地 telnet 到正确的端口并执行 stats 命令。

        root@host:~# telnet localhost 2181
        Trying 127.0.0.1...
        Connected to myhost.
        Escape character is '^]'.
        stats
        Zookeeper version: 3.4.3-cdh4.0.1--1, built on 06/28/2012 23:59 GMT
        Clients:
        
        Latency min/avg/max: 0/0/677
        Received: 4684478
        Sent: 4687034
        Outstanding: 0
        Zxid: 0xb00187dd0
        Mode: leader
        Node count: 127182
        Connection closed by foreign host.
        

        【讨论】:

        • telnet 通常不可用/未安装在服务器上
        • 'stats' 在我的 Windows 上不起作用。改用“srvr”。
        • 列出了可用的“四个字母单词”列表here。据此stat 是正确的词。但是 - 我认为 - 它必须被列入白名单。在我的情况下,默认情况下只有 srvr 被列入白名单(Windows)。
        【解决方案5】:

        另一种方法是使用 4 个字母的命令来验证 zookeeper 服务是否健康

        echo stat | nc <zookeeper ip> 2181
        echo mntr | nc <zookeeper ip> 2181
        echo isro  | nc <zookeeper ip> 2181
        

        有关以下文档链接的更多详细信息 https://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands

        【讨论】:

        • echo ruok | nc &lt;zookeeper ip&gt; 2181 如果没问题就返回“imok”,所以这可能是最容易解析的。
        • nc 可能并非在所有环境中都可用。
        • 不要忘记允许ZOO_4LW_COMMANDS_WHITELIST="*" 或更少,例如"stat",如果你在容器中运行 Zk。否则你会得到一个stat is not executed because it is not in the whitelist. Reference
        【解决方案6】:

        进入Zookeeper的bin目录并输入

        ./zkServer.sh status
        

        更多信息请点击以下链接:

        http://www.ibm.com/developerworks/library/bd-zookeeper/

        希望这对你有帮助。

        【讨论】:

        【解决方案7】:

        我使用:

          jps
        

        根据您的安装,运行中的 Zookeeper 看起来像

          HQuorumPeer
        

        或某事。以 zookeeper 为名。

        【讨论】:

          【解决方案8】:

          我做了一些测试:

          当它运行时:

          $ /usr/lib/zookeeper/bin/zkServer.sh status
          JMX enabled by default
          Using config: /usr/lib/zookeeper/bin/../conf/zoo.cfg
          Mode: follower
          

          当它停止时:

          $ zkServer status                                                                                                                                
          JMX enabled by default
          Using config: /usr/local/etc/zookeeper/zoo.cfg
          Error contacting service. It is probably not running.
          

          我不在同一台机器上运行,但你明白了。

          【讨论】:

            【解决方案9】:

            Zookeeper 只是一个 Java 进程,当您启动 Zookeeper 实例时,它会运行 org.apache.zookeeper.server.quorum.QuorumPeerMain 类。所以你可以像这样检查正在运行的 Zookeeper:

            jps -l | grep zookeeper
            

            甚至像这样:

            jps | grep Quorum
            

            更新:

            关于这个:will hostname be the hostname of my box?? - 答案是肯定的。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2015-02-06
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-06-28
              • 2013-07-12
              • 1970-01-01
              相关资源
              最近更新 更多