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: '/path/to/zk/data/dir' を使用して fig.yml にデータ ディレクトリを設定しようとしましたが、役に立たないようです。任意の支援をいただければ幸いです。
アップデート
の内容/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