java - Spring Cloud Dataflow Local Server需要连接zookeeper吗?

标签 java spring apache-kafka apache-zookeeper spring-cloud-dataflow

我正在尝试在 docker 容器上设置 scdf。

所有容器都在一个网络中

两个kafka通过端口2181暴露

我确信kafka正在连接到zookeeper。 (如果没有,将无法正常启动)

但是在创建简单流期间

stream create --name test --definition "time | log" --deploy

我在 stdout_0.log 文件中获取了这些日志,该文件代表 log 应用日志。

2016-12-14 01:18:03.264  INFO 62 --- [localhost:2181)] org.apache.zookeeper.ClientCnxn          : Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (unknown error)
2016-12-14 01:18:03.265  WARN 62 --- [localhost:2181)] org.apache.zookeeper.ClientCnxn          : Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect

java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_111-internal]
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[na:1.8.0_111-internal]
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361) ~[zookeeper-3.4.6.jar!/:3.4.6-1569965]
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081) ~[zookeeper-3.4.6.jar!/:3.4.6-1569965]

stderr_1.log中,我有

Caused by: org.I0Itec.zkclient.exception.ZkTimeoutException: Unable to connect to zookeeper server within timeout: 10000
    at org.I0Itec.zkclient.ZkClient.connect(ZkClient.java:880)
    at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:98)
    at org.I0Itec.zkclient.ZkClient.<init>(ZkClient.java:84)
    at org.springframework.cloud.stream.binder.kafka.KafkaMessageChannelBinder.ensureTopicCreated(KafkaMessageChannelBinder.java:354)
    at org.springframework.cloud.stream.binder.kafka.KafkaMessageChannelBinder.createKafkaConsumer(KafkaMessageChannelBinder.java:441)
    at org.springframework.cloud.stream.binder.kafka.KafkaMessageChannelBinder.doBindConsumer(KafkaMessageChannelBinder.java:282)
    at org.springframework.cloud.stream.binder.kafka.KafkaMessageChannelBinder.doBindConsumer(KafkaMessageChannelBinder.java:121)
    at org.springframework.cloud.stream.binder.AbstractBinder.bindConsumer(AbstractBinder.java:177)
    at org.springframework.cloud.stream.binding.ChannelBindingService.bindConsumer(ChannelBindingService.java:93)
    at org.springframework.cloud.stream.binding.BindableProxyFactory.bindInputs(BindableProxyFactory.java:189)
    at org.springframework.cloud.stream.binding.InputBindingLifecycle.start(InputBindingLifecycle.java:55)
    at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:173)
    ... 27 more

第一个日志说我正在使用localhost:0.0.0.0:2181进行zookeeper连接,但我没有,并且我已经为<配置了真实的IP地址em>卡夫卡.

第二条日志说连接的超时10000,在kafka中,我将连接超时设置为6000

所以这些不是来自kafka,而是来自scdf

事实是,当我查找 scdf link 的引用文献时,这里说的是,在此架构中没有使用(或者可能没有直接使用)zookeeper

这让我很困惑...如果这些日志不是来自kafka,也不是来自scdf,那么它们来自哪里?

如果scdf确实使用zookeeper,那么如何配置zookeeper的连接?

更新

我正在考虑当scdf尝试创建主题时,根据我对创建主题的了解,您必须指定Zookeeper 连接,scdf 使用localhost作为生产者消费者zookeeper上注册>,所以scdf实际上以某种方式使用zookeeper。但如何配置呢?

最佳答案

好的,在浏览了引用文件之后。我得到了这个:

--spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.brokers=192.168.1.100:9092
--spring.cloud.dataflow.applicationProperties.stream.spring.cloud.stream.kafka.binder.zkNodes=192.168.1.100:2181

希望这对正在寻找答案的人有所帮助......

关于java - Spring Cloud Dataflow Local Server需要连接zookeeper吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41134080/

相关文章:

java - 如何检查 Kafka Server 是否正在运行?

java - 将二维数组打印为网格? ( java )

java - 我在 SelectionSort 中得到错误的输出

java - java 中的 Push_back 和 pop_back

java - 为 bean 添加属性

apache-kafka - 我可以在我的 Rest WEBSERVICE 中使用 Kafka 队列吗

java - 我需要关于我的抽象类是否应该是接口(interface)的建议(反之亦然)

java - Spring Boot 项目中的多元化问题

javascript - Spring 3.1-找不到javascript文件- 404错误

apache-kafka - 如何找到Kafka brokers CPU使用率高的根本原因?