1

docker コンテナーに scdf をセットアップしようとしています。

すべてのコンテナが 1 つのネットワーク内にある

2 つのkafkaはポート2181によって公開されます

そして、カフカが飼育係に接続していると確信しています。(そうしないと正常に起動しません)

ただし、単純なストリームの作成中

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 アドレスを構成しました。

2番目のログには、接続のタイムアウト10000であることが示されています.kafkaでは、接続タイムアウトを6000に設定しました

したがって、これらは kafka からのものではなくscdfからのものです。

実際には、scdf linkの参照を調べると、このアーキテクチャでは動物園管理者が使用されていない (または直接使用されていない可能性がある)書かています。

これは私を混乱させました...これらのログがkafka からでも scdfからでもない場合、どこからのものですか?

scdfが Zookeeper を使用する場合、 zookeeperの接続を構成するにはどうすればよいですか?

アップデート

scdfがトピックを作成しようとしているときについて考えています。トピックの作成について私が知っていることから、 zookeeper接続を指定する必要があります。scdf はプロデューサーs またはコンシューマーs にlocalhostを使用してzookeeperに登録するため、scdfは実際にzookeeper を何らかの形で使用しいます. しかし、これを構成する方法は?

4

1 に答える 1

2

OK、参照ファイルを掘り下げた後。私はこれを得た:

--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

これが答えを探している人の助けになることを願っています....

于 2016-12-14T05:21:36.113 に答える