SparkStreaming+Zookeeper+Kafka入門程序

準(zhǔn)備工作:

開始工作

1. 啟動zookeeper

打開終端,切換到 zookeeper HOME 目錄琼腔, 進(jìn)入conf文件夾寞秃,拷貝一份 zoo_sample.cfg 副本并重命名為 zoo.cfg
切換到上級的bin目錄中斟叼,執(zhí)行 ./zkServer.sh start 啟動zookeeper,會有日志打印

Starting zookeeper ... STARTED

然后用 ./zkServer.sh status 查看狀態(tài)春寿,如果有下列信息輸出朗涩,則說明啟動成功

Mode: standalone

如果要停止zookeeper,則運(yùn)行 ./zkServer stop 即可

2. 啟動kafka

打開終端绑改,切換到 kafka HOME 目錄,運(yùn)行 bin/kafka-server-start.sh config/server.properties 會有以下類似日志輸出

[2014-11-12 17:38:13,395] INFO [ReplicaFetcherManager on broker 0] Removed fetcher for partitions [test,0] (kafka.server.ReplicaFetcherManager)
[2014-11-12 17:38:13,420] INFO [ReplicaFetcherManager on broker 0] Removed fetcher for partitions [test,0] (kafka.server.ReplicaFetcherManager)

3. 啟動kafka生產(chǎn)者

重新打開一個終端谢床,暫叫做 生產(chǎn)者終端,方便后面引用說明厘线。切換到 kafka HOME 目錄,運(yùn)行 bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test 創(chuàng)建一個叫 test 的主題识腿。

4. 編寫scala應(yīng)用程序


    package test
    import java.util.Properties
    import kafka.producer._
    import org.apache.spark.streaming._
    import org.apache.spark.streaming.StreamingContext._
    import org.apache.spark.streaming.kafka._
    import org.apache.spark.SparkConf


    object KafkaWordCount {
      def main(args: Array[String]) {
    //    if (args.length < 4) {
    //      System.err.println("Usage: KafkaWordCount <zkQuorum>     <group> <topics> <numThreads>")
    //      System.exit(1)
     //    }

    //    StreamingExamples.setStreamingLogLevels()

    //val Array(zkQuorum, group, topics, numThreads) = args
    val zkQuorum = "localhost:2181"
    val group = "1"
    val topics = "test"
    val numThreads = 2
    
    val sparkConf = new SparkConf().setAppName("KafkaWordCount").setMaster("local[2]")
    val ssc =  new StreamingContext(sparkConf, Seconds(2))
    ssc.checkpoint("checkpoint")

    val topicpMap = topics.split(",").map((_,numThreads)).toMap
    val lines = KafkaUtils.createStream(ssc, zkQuorum, group, topicpMap).map(_._2)
    val words = lines.flatMap(_.split(" "))
    
    val pairs = words.map(word => (word, 1))
    
    val wordCounts = pairs.reduceByKey(_ + _)
    
    //val wordCounts = words.map(x => (x, 1L))
    //  .reduceByKeyAndWindow(_ + _, _ - _, Minutes(10), Seconds(2), 2)
    wordCounts.print()

    ssc.start()
    ssc.awaitTermination()
  }
}

build.sbt 文件中添加依賴

libraryDependencies += "org.apache.spark" % "spark-streaming_2.10" % "1.1.0"

libraryDependencies += "org.apache.spark" % "spark-streaming-kafka_2.10" % "1.1.0"

啟動scala程序,然后在 上面第2步的 生產(chǎn)者終端中輸入一些字符串造壮,如 sdfsadf a aa a a a a a a a a 渡讼,在ide的控制臺上可以看到有信息輸出

4/11/12 16:38:22 INFO scheduler.DAGScheduler: Stage 195 (take at DStream.scala:608) finished in 0.004 s
-------------------------------------------
Time: 1415781502000 ms
-------------------------------------------
(aa,1)
(a,9)
(sdfsadf,1)

說明程序成功運(yùn)行。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末耳璧,一起剝皮案震驚了整個濱河市成箫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌旨枯,老刑警劉巖蹬昌,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異攀隔,居然都是意外死亡皂贩,警方通過查閱死者的電腦和手機(jī)栖榨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來明刷,“玉大人治泥,你說我怎么就攤上這事≌诰” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵败潦,是天一觀的道長本冲。 經(jīng)常有香客問我,道長劫扒,這世上最難降的妖魔是什么檬洞? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮沟饥,結(jié)果婚禮上添怔,老公的妹妹穿的比我還像新娘。我一直安慰自己贤旷,他們只是感情好广料,可當(dāng)我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著幼驶,像睡著了一般艾杏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上盅藻,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天购桑,我揣著相機(jī)與錄音,去河邊找鬼氏淑。 笑死勃蜘,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的假残。 我是一名探鬼主播缭贡,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼守问!你這毒婦竟也來了匀归?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤耗帕,失蹤者是張志新(化名)和其女友劉穎穆端,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仿便,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡体啰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年攒巍,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荒勇。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡柒莉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出沽翔,到底是詐尸還是另有隱情兢孝,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布仅偎,位于F島的核電站跨蟹,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏橘沥。R本人自食惡果不足惜窗轩,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望座咆。 院中可真熱鬧痢艺,春花似錦、人聲如沸介陶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哺呜。三九已至植酥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間弦牡,已是汗流浹背友驮。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留驾锰,地道東北人卸留。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像椭豫,于是被迫代替她去往敵國和親耻瑟。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容