即使Kafka正在服务TLS / SSL,Kafka能否通过TCP与ZooKeeper交谈?

时间:2016-10-13 19:32:18

标签: security ssl apache-kafka apache-zookeeper

我创建了一个3节点ZK集合,用作Kafka和(可能)其他服务的共识集群。

我还创建了一个单独的双节点Kafka代理群集,该群集使用这3个ZK进行领导者选举等。我已经使用远程生产者测试了这个配置&消费者似乎工作得非常好。

我现在想让我的Kafka经纪人需要TLS / SSL,以便Kafka客户 通过SSL证书进行通信。但我不想将我的3个ZK节点配置为需要TLS。

我可以进行以下设置(?):

Kafka Clients <---TLS---> Kafkas <---TCP---> ZK

或者我是否需要TLS一直到ZK后端?

2 个答案:

答案 0 :(得分:2)

是的,你可以。在Kafka中配置SSL时,仅适用于Kafka客户端到Kafka服务器以及可选地在Kafka服务器之间。 实际上,Zookeeper 3.4还不支持客户端和服务器之间的TLS通信。 Thay功能将在Zookeeper 3.5中出现。

答案 1 :(得分:0)

仍然可以通过以下步骤中提到的简单解决方法来完成此任务;

  1. 安装zookeeper-3.5.1-alpha(以使用.jar文件。可以使用版本3.5 +)
  2. /zookeeper-3.5.1-alpha/zookeeper-3.5.1-alpha.jar中用<kafka-installation-folder>\libs替换默认的zookeeper * .jar
  3. /zookeeper-3.5.1-alpha/lib/netty-3.7.0.Final.jar复制到<kafka-installation-folder>\libs
  4. 相关更改以在Zookeeper(https://cwiki-test.apache.org/confluence/display/ZOOKEEPER/ZooKeeper+SSL+User+Guide)上启用SSL