【问题标题】:Zookeeper docker container stuckZookeeper docker 容器卡住了
【发布时间】:2019-03-04 08:41:49
【问题描述】:

我们一直在使用 zookeeper 作为 Kafka 部署的一部分,也用于其他用途(通过 docker-compose)。

有时 docker 镜像会停止运行,以至于docker stop zookeeper 不会返回(zk 会继续运行)。 docker kill -s SIGTERM 也不会杀死它。

当这种情况发生时,从容器内运行 zkCli 的尝试也会停止(zkCli.sh 命令不会返回)。

只有杀死 docker 服务(在 Mac 上是 docker 应用程序)才能恢复它 - 但只有在 zk 仍处于关闭状态时删除容器之后。

知道如何解决这个问题吗? 什么可能导致这种情况?

【问题讨论】:

    标签: docker apache-zookeeper boot2docker


    【解决方案1】:

    容器日志在处于该状态时反复出现此错误:

    log4j:ERROR Failed to flush writer,
    java.io.IOException: Invalid argument
        at java.io.FileOutputStream.writeBytes(Native Method)
        at java.io.FileOutputStream.write(FileOutputStream.java:326)
        at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
        at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
        at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
        at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
        at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
        at org.apache.log4j.helpers.QuietWriter.flush(QuietWriter.java:59)
        at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:324)
        at org.apache.log4j.RollingFileAppender.subAppend(RollingFileAppender.java:276)
        at org.apache.log4j.WriterAppender.append(WriterAppender.java:162)
        at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
        at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
        at org.apache.log4j.Category.callAppenders(Category.java:206)
        at org.apache.log4j.Category.forcedLog(Category.java:391)
        at org.apache.log4j.Category.log(Category.java:856)
        at org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:210)
        at org.apache.zookeeper.server.FinalRequestProcessor.processRequest(FinalRequestProcessor.java:89)
        at org.apache.zookeeper.server.SyncRequestProcessor.run(SyncRequestProcessor.java:169)
    

    google 告诉我这可能是由错误的 ulimit 配置引起的。
    本节添加到zookeeper的组成中:

    ulimits: 
      nofile:
        soft: 20000
        hard: 40000
    

    到目前为止一切顺利

    【讨论】:

      猜你喜欢
      • 2017-10-07
      • 2022-10-15
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 2014-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多