2017-01-02 81 views
1

如果我使用Spark 1.6.2,Scala 2.10和spark-streaming-kafka_2.10,我可以從Scala代碼中使用來自Kafka 0.10.1.0的消息嗎? (有一個遠程機器,包含Kafka 0.10.1.0,Inter Broker協議版本:0.10.1.0和Scala 2.11)。還是暗示我應該使用Spark 2. *?Kafka 0.10是否與Spark 1.6.2兼容?

<dependency> 
    <groupId>org.apache.spark</groupId> 
    <artifactId>spark-streaming-kafka_2.10</artifactId> 
    <version>1.6.2</version> 
</dependency> 

我讀了一些論壇這個文本,它混淆了我很多:

Kafka 0.10 support is only coming with Spark 2.0 on Scala and Java workloads 

例如,使用消息,斯卡拉不處理卡夫卡隊列參數(經紀人名單,動物園管理員IP等),但它只是直接發送給卡夫卡,解釋他們。這是對的嗎?在這種情況下,爲什麼Kafka 0.10不支持Spark 1.6.2?

UPDATE:

this thread據我所知,這是可以使用卡夫卡,我在POM規定(見上文),以便從卡夫卡0.10.1.0消耗的消息,但不知道。 Kafka client是什麼意思?這是否意味着在遠程服務器上安裝了Kafka(即Kafka 0.10.1.0),還是這意味着我在POM中指定了我的Kafka?

回答

0

0.10.1.0 picture 這取決於卡夫卡的版本,你installed.the官方提供兩個二進制每個version.if安裝斯卡拉2.10,你應該安裝斯卡拉2.10 - kafka_2.10-0.10.1.0.tgz,否則Scala 2.11 - kafka_2.11-0.10.1.0.tgz the official documents

+0

只是爲了確保我能正確理解它:如果在遠程集羣上安裝了Kafka 0.10.1.0和Scala 2.11,建議不要使用來自這個集羣使用Scala 2.10的主題,對吧?請注意,我的客戶代碼在AWS機器上執行,而不是在運行Kafka集羣的機器上執行。 – Dinosaurius

+0

哦,在這種情況下,它可能沒問題。 – Fang