Как внедрить производителя и потребителя верблюжьей кафки, который использует брокеров кафки и имя пользователя и пароль, но не сертификаты ssl - PullRequest
0 голосов
/ 29 апреля 2018

Как внедрить производителя и потребителя верблюжьей кафки, использующего брокеров кафки и имя пользователя и пароль, но не сертификаты ssl.

мои конфигурации брокера kafka выглядят так

{
    "kafka_brokers_sasl":
    "kafka04-orgName.services.orgsj001.us-west.bluemix.net:9093",
    "kafka02-orgName.services.orgsj001.us-west.bluemix.net:9093",
    "kafka01-orgName.services.orgsj001.us-west.bluemix.net:9093",
    "kafka03-orgName.services.orgsj001.us-west.bluemix.net:9093"
  ,
  "user": "**********",
  "password": "********"
}

1 Ответ

0 голосов
/ 30 апреля 2018

Для подключения к Message Hub необходим как минимум Apache Camel 2.20.

Затем добавьте следующие параметры запроса в ваш URI:

  • saslMechanism = ОБЫЧНЫЙ
  • securityProtocol = SASL_SSL
  • SSLProtocol = TLSv1.2
  • sslEnabledProtocols = TLSv1.2
  • saslJaasConfig = org.apache.kafka.common.security.plain.PlainLoginМодуль требуется username = "USERNAME" password = "PASSWORD";

Например, для производителя:

final String brokers = "kafka01-orgName.services.orgsj001.us-west.bluemix.net:9093,kafka02-orgName.services.orgsj001.us-west.bluemix.net:9093,kafka03-orgName.services.orgsj001.us-west.bluemix.net:9093,kafka04-orgName.services.orgsj001.us-west.bluemix.net:9093";

final String saslJaasConfig = "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"USERNAME\" password=\"PASSWORD\";";

from("direct:in")
.to("kafka:test?" 
    + "brokers=" + brokers
    + "&saslMechanism=PLAIN"  
    + "&securityProtocol=SASL_SSL"
    + "&sslProtocol=TLSv1.2"
    + "&sslEnabledProtocols=TLSv1.2" 
    + "&sslEndpointAlgorithm=HTTPS"
    + "&saslJaasConfig=" + saslJaasConfig);

и потребитель:

final String brokers = "kafka01-orgName.services.orgsj001.us-west.bluemix.net:9093,kafka02-orgName.services.orgsj001.us-west.bluemix.net:9093,kafka03-orgName.services.orgsj001.us-west.bluemix.net:9093,kafka04-orgName.services.orgsj001.us-west.bluemix.net:9093";

final String saslJaasConfig = "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"USERNAME\" password=\"PASSWORD\";";

from("kafka:test?" 
    + "brokers=" + brokers
    + "&saslMechanism=PLAIN"  
    + "&securityProtocol=SASL_SSL"
    + "&sslProtocol=TLSv1.2"
    + "&sslEnabledProtocols=TLSv1.2" 
    + "&sslEndpointAlgorithm=HTTPS"
    + "&saslJaasConfig=" + saslJaasConfig
    + "&groupId=mygroup")
.to("stream:out");
...