有人知道如何将自定义Kafka配置选项传递给 landoop/fast-data-dev
Docker 形象?
因为没有办法puss一个定制的配置文件和/或配置参数,所以到目前为止我尝试的是挂载我自己的配置文件和/或配置参数 server.properties
将文件配置到 /opt/confluent/etc/kafka
通过将以下内容添加到我的docker compose文件中
landoop:
hostname: 'landoop'
image: 'landoop/fast-data-dev:latest'
expose:
- '3030'
ports:
- '3030:3030'
environment:
- RUNTESTS=0
- RUN_AS_ROOT=1
volumes:
- ./docker/landoop/tmp:/tmp
- ./docker/landoop/opt/confluent/etc/kafka:/opt/confluent/etc/kafka
但是,这会导致Kafka抛出以下日志:
landoop_1 | 2017-09-28 11:53:03,886 INFO exited: broker (exit status 1; not expected)
landoop_1 | 2017-09-28 11:53:04,749 INFO spawned: 'broker' with pid 281
landoop_1 | 2017-09-28 11:53:05,851 INFO success: broker entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
landoop_1 | 2017-09-28 11:53:11,867 INFO exited: rest-proxy (exit status 1; not expected)
landoop_1 | 2017-09-28 11:53:12,604 INFO spawned: 'rest-proxy' with pid 314
landoop_1 | 2017-09-28 11:53:13,024 INFO exited: schema-registry (exit status 1; not expected)
landoop_1 | 2017-09-28 11:53:13,735 INFO spawned: 'schema-registry' with pid 341
landoop_1 | 2017-09-28 11:53:13,739 INFO success: rest-proxy entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
另外,当我去http://localhost:3030/kafka topics ui/,我看到以下内容:
KAFKA REST
/api/kafka-rest-proxy
CONNECTIVITY ERROR
有什么建议吗?谢谢您。
2条答案
按热度按时间oxiaedzo1#
目前,使用最新版本的landoop/fast data dev,可以通过将配置选项转换为大写、用下划线替换点以及用kafka前缀来指定自定义kafka配置选项。例如,如果要为“log.retention.bytes”和“log.retention.hours”设置特定值,则应将以下内容添加到docker compose环境部分:
您还可以通过这种方式为其他服务(schema registry、connect、rest proxy)指定配置选项。查看文档了解详细信息https://hub.docker.com/r/landoop/fast-data-dev/.
一旦容器启动,您可以通过查看容器内以下路径的配置文件来确认这一点:
/run/broker/server.properties
如果在环境参数上将“browseconfigs”设置为1,也可以通过以下url的landoop ui:http://127.0.0.1:3030/config/broker/server.properties
lqfhib0f2#
我做了几件事,简化了整个过程。这只对dev环境有效
以交互式shell作为入口点启动docker
启动主机网络上的docker
对server.properties文件进行必要的更改,包括docker运行的主机ip(如(2)docker在主机网络上运行中所述)
4. 如果您想进行任何高级配置,可以现在进行
运行实际入口点“/usr/local/bin/setup并运行.sh”
实际使用的命令:
启动容器
sudo docker run-it--entrypoint/bin/bash--net=host--rm-e adv\u host=hostip landoop/fast数据-dev:latest
将以下内容添加到/run/broker/server.properties
advised.host.name=主机ip
advised.port=9092
运行/usr/local/bin/setup-and-run.sh