我正在尝试通过docker-compose文件部署kafka,或者甚至安装kafka图像并手动运行它。当我开始运行kafka服务器(代理)时,这两个步骤都给了我错误
INFO启动客户端连接,connectString = 188.226.151.167:2181 sessionTimeout = 6000 watcher=org.I0Itec.zkclient.ZkClient@323b36e0(org.apache.zookeeper.ZooKeeper) [2017-05-16 13:44:49,903] INFO等待守门员状态SyncConnected(org.I0Itec.zkclient.ZkClient) [2017-05-16 13:44:49,909] INFO打开与服务器188.226.151.167/188.226.151.167:2181的套接字连接。不会尝试使用SASL进行身份验证(未知错误)(org.apache.zookeeper.ClientCnxn) [2017-05-16 13:44:55,904] INFO终止ZkClient事件线程。 (org.I0Itec.zkclient.ZkEventThread)
任何人都可以清楚地解释发生了什么以及如何解决这个问题的明确解释
答案 0 :(得分:0)
试试这个:
kafka:
network_mode: 'bridge'
image: wurstmeister/kafka
links:
- zookeeper
environment:
HOSTNAME_COMMAND: "hostname -I | awk -F' ' '{print $$1}'"
KAFKA_ADVERTISED_PORT: 9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
zookeeper:
network_mode: 'bridge'
image: wurstmeister/zookeeper
答案 1 :(得分:0)
我已经设置了我的docker compose,因为一切都很完美:
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- 2181:2181
hostname: zookeeper
container_name: zookeeper
volumes:
- /tmp/docker/zk1/logs:/logs
- /tmp/docker/zk1/data:/data
kafka:
image: wurstmeister/kafka
ports:
- 9092:9092
depends_on:
- zookeeper
environment:
KAFKA_CREATE_TOPICS: "test1:1:1,test2:1:1"
HOSTNAME_COMMAND: "route -n | awk '/UG[ \t]/{print $$2}'"
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /tmp/docker/kafka/logs:/logs
- /tmp/docker/kafka/data:/data
- ./tmp/docker/kafka/kafka-logs:/kafka
hostname: kafka
container_name: kafka
我已将端口设置为'2181:2181'而不仅仅是'2181',以便可以在我的容器外访问。
我还设置了卷,以便每次重新启动容器时都能记住上一次的所有数据。
答案 2 :(得分:0)
它通过禁用防火墙连接解决了外部机器与docker连接的所有kafka 命令: ufw禁用