在Apache spark和Kafka代理之间启用SSL

时间:2016-10-25 02:02:56

标签: apache-spark ssl apache-kafka spark-streaming

我正在尝试在我的Apache Spark 1.4.1和Kafka 0.9.0.0之间启用SSL,我正在使用spark-streaming-kafka_2.10 Jar连接到Kafka并且我使用KafkaUtils.createDirectStream方法来读取数据来自卡夫卡主题。

最初,我遇到了OOM问题,我通过增加驱动程序内存来​​解决它,之后我看到了下面的问题,我做了一点点阅读并发现spark-streaming-kafka_2.10 使用Kafka 0.8.2.1 API,它不支持SSL(Kafka仅在0.9.0.0版本之后支持SSL)。有什么替代方法可以在Spark 1.4.1和Kafka 0.9.0.0之间启用SSL。

这是日志

iableProperties: Property security.protocol is not valid
16/10/24 18:25:09 WARN utils.VerifiableProperties: Property ssl.truststore.location is not valid
16/10/24 18:25:09 WARN utils.VerifiableProperties: Property ssl.truststore.password is not valid
16/10/24 18:25:09 INFO utils.VerifiableProperties: Property zookeeper.connect is overridden to 
16/10/24 18:25:09 INFO consumer.SimpleConsumer: Reconnect due to error

Exception in thread "main" org.apache.spark.SparkException: java.io.EOFException
org.apache.kafka.common.network.NetworkReceive.readFromReadableChannel(NetworkReceive.java:99)

1 个答案:

答案 0 :(得分:2)

Spark 2.0中添加了对Kafka 0.10(具有SSL支持)的支持。我们必须使用maven artifact spark-streaming-kafka-0-10_2.10。