如何在Docker中设置Zookeeper dataDir(fig.yml)

好的

我已经在Docker的fig.yml文件中配置了Zookeeper和Kafka容器。两个容器都可以正常运行。但是在发送了许多消息之后,我的应用程序/ zk-client挂起了。在检查Zookeeper日志时,我看到错误:

Error Path:/brokers Error:KeeperErrorCode = NoNode for /brokers

我的fig.yml如下:

zookeeper:
  image: wurstmeister/zookeeper
  ports:
    - "2181:2181"
  environment:
    ZK_ADVERTISED_HOST_NAME: xx.xx.x.xxx
    ZK_CONNECTION_TIMEOUT_MS: 6000
    ZK_SYNC_TIME_MS: 2000
    ZK_DATADIR: /path/to/data/zk/data/dir
kafka:
  image: wurstmeister/kafka:0.8.2.0
  ports:
    - "xx.xx.x.xxx:9092:9092"
  links:
    - zookeeper:zk
  environment:
    KAFKA_ADVERTISED_HOST_NAME: xx.xx.x.xxx
    KAFKA_LOG_DIRS: /home/svc_cis4/dl
  volumes:
    - /var/run/docker.sock:/var/run/docker.sock

我已经搜索了很长时间,但是还没有解决方案。我也尝试使用ZK_DATADIR在fig.yml中设置数据目录:'/ path / to / zk / data / dir',但这似乎无济于事。任何帮助将不胜感激。

更新

内容/opt/kafka_2.10-0.8.2.0/config/server.properties

broker.id=0
port=9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
num.partitions=1
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
log.cleaner.enable=false
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000
好的

最近两天一直在为我工作的配置没有任何问题,涉及为Zookeeper和Kafka指定主机地址。我的fig.yml内容是:

zookeeper:
  image: wurstmeister/zookeeper
  ports:
    - "xx.xx.x.xxx:2181:2181"
kafka:
  image: wurstmeister/kafka:0.8.2.0
  ports:
    - "9092:9092"
  links:
    - zookeeper:zk
  environment:
     KAFKA_ADVERTISED_HOST_NAME: xx.xx.x.xxx
     KAFKA_NUM_REPLICA_FETCHERS: 4
     ...other env variables...
  volumes:
    - /var/run/docker.sock:/var/run/docker.sock
validator:
  build: .
  volumes:
    - .:/host
  entrypoint: /bin/bash
  command: -c 'java -jar /host/app1.jar'
  links:
    - zookeeper:zk
    - kafka
analytics:
  build: .
  volumes:
    - .:/host
  entrypoint: /bin/bash
  command: -c 'java -jar /host/app2.jar'
  links:
    - zookeeper:zk
    - kafka
loader:
  build: .
  volumes:
    - .:/host
  entrypoint: /bin/bash
  command: -c 'java -jar /host/app3.jar'
  links:
    - zookeeper:zk
    - kafka

以及随附的Dockerfile内容:

FROM ubuntu:trusty

MAINTAINER Wurstmeister

RUN apt-get update; apt-get install -y unzip openjdk-7-jdk wget git docker.io

RUN wget -q http://apache.mirrors.lucidnetworks.net/kafka/0.8.2.0/kafka_2.10-0.8.2.0.tgz -O /tmp/kafka_2.10-0.8.2.0.tgz
RUN tar xfz /tmp/kafka_2.10-0.8.2.0.tgz -C /opt

VOLUME ["/kafka"]

ENV KAFKA_HOME /opt/kafka_2.10-0.8.2.0
ADD start-kafka.sh /usr/bin/start-kafka.sh
ADD broker-list.sh /usr/bin/broker-list.sh
CMD start-kafka.sh

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Rails 4中正确设置database.yml文件

来自分类Dev

从validation.yml中读取配置设置

来自分类Dev

如何从宝石读取文件(.yml)

来自分类Dev

Docker Fig MongoDB主从

来自分类Dev

如何在docker-compose.yml中设置/获取项目名称

来自分类Dev

如何在Java中编辑.yml文件?

来自分类Dev

docker在docker-compose.yml中设置iptables选项

来自分类Dev

什么是MySQL中的DataDir?

来自分类Dev

在Augeas中修改yml文件

来自分类Dev

如何在docker-compose.yml中定义docker镜像名称?

来自分类Dev

如何从YML删除主块

来自分类Dev

如何在dredd.yml文件中设置环境变量以进行drdd测试?

来自分类Dev

如何在.gitlab-ci.yml中的Docker容器中挂载卷?

来自分类Dev

如何在docker-compose.yml文件中设置持久数据

来自分类Dev

Docker撰写yml替代方案

来自分类Dev

如何在serverless.yml中设置AWS Lambda的重试次数?

来自分类Dev

在docker-compose.yml中运行命令

来自分类Dev

如何创建docker-compose.yml文件

来自分类Dev

从dockerfile访问docker-compose.yml中设置的卷

来自分类Dev

从validation.yml中读取配置设置

来自分类Dev

如何配置security.yml

来自分类Dev

如何从宝石读取文件(.yml)

来自分类Dev

Docker Fig MongoDB主从

来自分类Dev

如何在docker-compose.yml中设置/获取项目名称

来自分类Dev

如何在Java中编辑.yml文件?

来自分类Dev

Symfony3登录表单:如何在security.yml中设置防火墙参数?

来自分类Dev

如何在Rails中访问YML文件

来自分类Dev

Sublime Text 3:如何在 sublime 设置中配置 rubocop.yml 路径?

来自分类Dev

docker-compose.yml 路径中的空间