2016-11-25 23 views
2

私は3ノードカフカクラスター(バージョン0.10.1.0)を持っています。私はkafka security documentationの手順に従った。私のKafkaサーバーの1つの関連する構成を以下に示します。カフカコントローラーがブローカーに接続できませんでした

listeners=SSL://myhostname:9093 
security.inter.broker.protocol=SSL 
advertised.listeners=SSL://myhostname:9093 
# In order to enable hostname verification 
ssl.endpoint.identification.algorithm=HTTPS 

ssl.client.auth=required 

# certificate file locations 
ssl.keystore.location=/location/server1.keystore.jks 
ssl.keystore.password=changeit 
ssl.key.password=changeit 
ssl.truststore.location=/location/server.truststore.jks 
ssl.truststore.password=changeit 

# Supported TLS versions 
ssl.enabled.protocols=TLSv1.2,TLSv1.1,TLSv1 

私はすべてのカフカサーバーに対して3つの異なるキーストアを定義し、それらを同じCAで署名しました。 Kafkaサーバーを起動すると、コントローラーログに次の警告ログが記録されます。

WARN [Controller-0-to-broker-2-send-thread], Controller 0's connection to broker host3:9093 (id: 2 rack: null) was unsuccessful (kafka.controller.RequestSendThread) 
java.io.IOException: Connection to host3:9093 (id: 2 rack: null) failed 
    at kafka.utils.NetworkClientBlockingOps$.awaitReady$1(NetworkClientBlockingOps.scala:83) 
    at kafka.utils.NetworkClientBlockingOps$.blockingReady$extension(NetworkClientBlockingOps.scala:93) 
    at kafka.controller.RequestSendThread.brokerReady(ControllerChannelManager.scala:230) 
    at kafka.controller.RequestSendThread.liftedTree1$1(ControllerChannelManager.scala:182) 
    at kafka.controller.RequestSendThread.doWork(ControllerChannelManager.scala:181) 
    at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:63) 
WARN [Controller-0-to-broker-0-send-thread], Controller 0's connection to broker host1:9093 (id: 0 rack: null) was unsuccessful (kafka.controller.RequestSendThread) 
java.io.IOException: Connection to host1:9093 (id: 0 rack: null) failed 
    at kafka.utils.NetworkClientBlockingOps$.awaitReady$1(NetworkClientBlockingOps.scala:83) 
    at kafka.utils.NetworkClientBlockingOps$.blockingReady$extension(NetworkClientBlockingOps.scala:93) 
    at kafka.controller.RequestSendThread.brokerReady(ControllerChannelManager.scala:230) 
    at kafka.controller.RequestSendThread.liftedTree1$1(ControllerChannelManager.scala:182) 
    at kafka.controller.RequestSendThread.doWork(ControllerChannelManager.scala:181) 
    at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:63) 
WARN [Controller-0-to-broker-1-send-thread], Controller 0's connection to broker host2:9093 (id: 1 rack: null) was unsuccessful (kafka.controller.RequestSendThread) 
java.io.IOException: Connection to host2:9093 (id: 1 rack: null) failed 
    at kafka.utils.NetworkClientBlockingOps$.awaitReady$1(NetworkClientBlockingOps.scala:83) 
    at kafka.utils.NetworkClientBlockingOps$.blockingReady$extension(NetworkClientBlockingOps.scala:93) 
    at kafka.controller.RequestSendThread.brokerReady(ControllerChannelManager.scala:230) 
    at kafka.controller.RequestSendThread.liftedTree1$1(ControllerChannelManager.scala:182) 
    at kafka.controller.RequestSendThread.doWork(ControllerChannelManager.scala:181) 
    at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:63) 

警告よりも深刻です。

何が問題なのでしょうか?

ありがとうございます。

答えて

4

私は問題を特定しました。これは証明書の作成に関するものです。それが言うConfluent's documentationを参照してください:

はその共通名(CN)を正確にサーバーの完全修飾 ドメイン名(FQDN)と一致することを確認してください。クライアントは、CNを DNSドメイン名と比較して、悪意のあるサーバーではなく、希望する サーバーに実際に接続していることを確認します。

私は証明書を再生成し、それは機能しました!

関連する問題