启动生产者推送数据时,我的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应该将数据推送到在同一本地主机上运行的代理。 来自另一个节点的消费者应该能够消费。 启用SSL时,应对数据进行加密
答案 0 :(得分:0)
使用单向握手。 现在通过实现两种方式的握手解决了这个问题