簡體   English   中英

Spring Cloud Dataflow Local Server是否需要連接Zookeeper?

[英]Does Spring Cloud Dataflow Local Server need to connect zookeeper?

我正在嘗試在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連接,但不是,我已經配置了kafka的真實IP地址。

第二個日志說連接超時10000 ,在kafka中,我將連接超時設置為6000

因此,這些不是來自kafka ,而是來自scdf

事實是,當我查找scdf link的引用時,它說,在此體系結構中沒有使用( 或可能不直接使用zookeeper

這讓我感到困惑...如果這些日志不是來自kafka也不來自scdf ,那么它們從何而來?

如果scdf確實使用zookeeper ,那么如何為zookeeper配置連接?

UPDATE

我正在考慮何時scdf嘗試創建主題 ,根據我所知道的創建主題的知識,您必須指定zookeeper連接, scdf使用生產者消費者localhostzookeeper上進行注冊,因此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

希望這對正在尋找答案的人有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM