在KAFKA中启用SSL时出现SSL握手错误

时间:2019-05-29 10:20:04

标签: java linux rhel7

启动生产者推送数据时,我的SSL握手失败,执行以下设置:

1. Followed steps as per 
    https://docs.confluent.io/2.0.0/kafka/ssl.html to create keystore
2.  Started zookeeper with default settings
3.  Made below changes in kafka server properties:
    a.  listeners=SSL://hostName:9092
    b.  ssl.keystore.location =/home/kafka_2.12- 
       2.2.0/kafka.server.keystore.jks
    c.  ssl.keystore.password =keystore
    d.  ssl.key.password =keystore
    e.  ssl.truststore.location =/home/kafka_2.12- 
       2.2.0/kafka.server.truststore.jks
    f.  ssl.truststore.password =keystore
    g.  ssl.endpoint.identification.algorithm=HTTPS
    h.  advertised.listeners=SSL://hostName:9092
    i.  inter.broker.listener.name=SSL
    j.  listener.security.protocol.map=SSL:SSL

完成上述步骤后,我能够启动kafka服务器,并且服务器已启动。

Command bin/zookeeper-shell.sh localhost:2181 <<< "get /brokers/ids/0" gave below output that means broker id 0 was up and listening  on 
SSL://hostName:9092
Connecting to localhost:2181
Welcome to ZooKeeper!
JLine support is disabled
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
{"listener_security_protocol_map":{"SSL":"SSL"},"endpoints": 
["SSL://hostName:9092"]
 ,"jmx_port":-1,"host":null,"timestamp":"1559106754150" 
 ,"port":-1,"version":4}
cZxid = 0x425
ctime = Wed May 29 10:42:34 IST 2019
mZxid = 0x425
mtime = Wed May 29 10:42:34 IST 2019
pZxid = 0x425
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x1004d6fe052000a
dataLength = 159
numChildren = 0

但是当我启动kafka生产者推送数据时,我在kafka服务器控制台上收到SSL握手错误

开始制作     bin / kafka-console-producer.sh --broker-list hostName:9092 --topic test3

[2019-05-29 10:45:57,808] INFO [SocketServer brokerId=0] Failed 
authentication with /101.101.101.101 (SSL handshake failed) 
(org.apache.kafka.common.network.Selector)
[2019-05-29 10:45:58,143] INFO [SocketServer brokerId=0] Failed 
authentication with /101.101.101.101 (SSL handshake failed) 
(org.apache.kafka.common.network.Selector)
[2019-05-29 10:45:58,728] INFO [SocketServer brokerId=0] Failed 
authentication with /101.101.101.101 (SSL handshake failed) 
(org.apache.kafka.common.network.Selector)
[2019-05-29 10:45:59,613] INFO [SocketServer brokerId=0] Failed 
authentication with /101.101.101.101 (SSL handshake failed) 
(org.apache.kafka.common.network.Selector)
[2019-05-29 10:46:00,600] INFO [SocketServer brokerId=0] Failed 
authentication with /101.101.101.101 (SSL handshake failed) 
(org.apache.kafka.common.network.Selector)
[2019-05-29 10:46:01,688] INFO [SocketServer brokerId=0] Failed 
authentication with /101.101.101.101 (SSL handshake failed) 
(org.apache.kafka.common.network.Selector)
[2019-05-29 10:46:02,928] INFO [SocketServer brokerId=0] Failed 
authentication with /101.101.101.101 (SSL handshake failed) 
(org.apache.kafka.common.network.Selector)

注意:Kafka代理服务器和生产者在同一主机上

期望Producer应该将数据推送到在同一本地主机上运行的代理。 来自另一个节点的消费者应该能够消费。 启用S​​SL时,应对数据进行加密

1 个答案:

答案 0 :(得分:0)

使用单向握手。 现在通过实现两种方式的握手解决了这个问题