初探storm in Docker

背景

Storm是一個(gè)已經(jīng)被業(yè)界廣泛應(yīng)用的流處理引擎甩骏,主要特點(diǎn)是實(shí)時(shí)性強(qiáng)窗市,編程模型和接口簡(jiǎn)單,易于快速實(shí)現(xiàn)流處理功能饮笛。在目前的主流大數(shù)據(jù)平臺(tái)軟件棧中(如Hortonworks的HDP和Cloudera的CDH)咨察,Storm的部署方案都是單實(shí)例部署,即部署的是一個(gè)Storm集群福青,租戶的權(quán)限控制交給Ranger管理摄狱。這樣的優(yōu)點(diǎn)是部署和管理簡(jiǎn)單脓诡,但是因?yàn)閟torm的資源管理并沒(méi)有基于大數(shù)據(jù)平臺(tái)的資源管理方案,如果將storm計(jì)算節(jié)點(diǎn)和yarn NM復(fù)用媒役,有可能發(fā)生資源使用問(wèn)題祝谚。此外,多租戶之間的資源使用也容易發(fā)生搶占問(wèn)題酣衷。因此桃焕,關(guān)于storm的此類問(wèn)題队伟,業(yè)界目前有兩種解決思路: 一是Yarn的長(zhǎng)時(shí)服務(wù),目前的做法是基于Slider的方案。另一種是借助了PASS, 在Docker中運(yùn)行Storm因篇,采用多實(shí)例的做法,不同的租戶使用不同的storm實(shí)例涛浙,從而做到權(quán)限和資源的隔離刘绣。

正是基于此,本文嘗試使用k8s example中的storm示例钠龙,將Storm運(yùn)行在K8s集群中的Docker.

準(zhǔn)備條件
  • 部署K8s集群


    k8s節(jié)點(diǎn)
  • 準(zhǔn)備Zookeeper和Storm image
    可以自己編寫(xiě)dockerFile炬藤,也可以從網(wǎng)上下載別人已經(jīng)編譯好的.(因?yàn)镾torm是一個(gè)通用組件,網(wǎng)上這類比較多)碴里。本文使用mattf/storm的版本.
1. 部署并啟動(dòng)ZK
  • 使用zookeeper的編排沈矿,啟動(dòng)pod執(zhí)行
kubectl create -f zookeeper.json

zookeeper.json 為 zookeeper.json

  • 創(chuàng)建ZK的service
kubectl create -f zookeeper-service.json

zookeeper-service.json為 zookeeper-service.json

執(zhí)行完成后,可以查看zk是否正常創(chuàng)建和運(yùn)行咬腋。

  • 查看Pod是否正常運(yùn)行
kubectl get pods
zkPod
  • 查看ZK service是否正常運(yùn)行
kubectl get services|grep zookeeper
zk service
  • 查看ZK 端口2181是否可以被訪問(wèn)
    notes: zk的訪問(wèn)IP和端口可以在ZK的k8s服務(wù)中查看羹膳,如上圖,本文集群環(huán)境的zk地址為: 10.108.175.212:2181
echo ruok | nc 10.108.175.212 2181; echo
zk 端口正常
2. 部署Storm Nimbus服務(wù)
  • 同部署ZK一樣根竿,首先創(chuàng)建Nimbus pod
kubectl create -f storm-nimbus.json

storm-nimbus.json為 storm-nimbus.json

  • 然后創(chuàng)建Nimbus Service
kubectl create -f storm-nimbus-service.json

storm-nimbus-service.json為 storm-nimbus-service.json

  • 檢查nimbus pod是否正常運(yùn)行
kubectl get pods|grep nimbus
  • 檢查nimbus service是否正常運(yùn)行
kubectl get services|grep nimbus
3. 部署Storm Worker
kubectl create -f storm-worker-controller.json

storm-worker-controller.json為storm-worker-controller.json

4. 運(yùn)行Storm topology
  • 啟動(dòng)一個(gè)交互式的docker
docker run -it -w /opt/apache-storm mattf/storm-base sh
runDocker
  • 本地模式運(yùn)行Storm topology
./bin/storm jar examples/storm-starter/storm-starter-topologies-0.9.3.jar storm.starter.RollingTopWords
  • remote模式運(yùn)行Storm topology

    • 配置ZK和nimbus
/configure.sh  10.108.175.212 10.100.140.82
  • 提交storm topology
./bin/storm jar examples/storm-starter/storm-starter-topologies-0.9.3.jar storm.starter.RollingTopWords  production-topology remote
  • 在Storm中查看提交的topology
./bin/storm list
storm topology

這樣就完成了簡(jiǎn)單的在Docker 里的Storm部署和運(yùn)行陵像。

注意: 本文只是簡(jiǎn)單的使用K8s管理調(diào)度Storm Docker。尚未涉及資源的劃分和網(wǎng)絡(luò)的隔離寇壳,后續(xù)將會(huì)進(jìn)一步探討醒颖。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市壳炎,隨后出現(xiàn)的幾起案子泞歉,更是在濱河造成了極大的恐慌,老刑警劉巖匿辩,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腰耙,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡铲球,警方通過(guò)查閱死者的電腦和手機(jī)挺庞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)稼病,“玉大人选侨,你說(shuō)我怎么就攤上這事掖鱼。” “怎么了援制?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵锨用,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我隘谣,道長(zhǎng)增拥,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任寻歧,我火速辦了婚禮掌栅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘码泛。我一直安慰自己猾封,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布噪珊。 她就那樣靜靜地躺著晌缘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪痢站。 梳的紋絲不亂的頭發(fā)上磷箕,一...
    開(kāi)封第一講書(shū)人閱讀 49,829評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音阵难,去河邊找鬼岳枷。 笑死,一個(gè)胖子當(dāng)著我的面吹牛呜叫,可吹牛的內(nèi)容都是我干的空繁。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼朱庆,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼盛泡!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起娱颊,我...
    開(kāi)封第一講書(shū)人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤傲诵,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后维蒙,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體掰吕,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡果覆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年颅痊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片局待。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡斑响,死狀恐怖菱属,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情舰罚,我是刑警寧澤纽门,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站营罢,受9級(jí)特大地震影響赏陵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜饲漾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一蝙搔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧考传,春花似錦吃型、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至泉褐,卻和暖如春赐写,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背膜赃。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工血淌, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人财剖。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓悠夯,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親躺坟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沦补,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

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

  • 背景 OpenShift是目前比較主流的基于Kubernetes的容器云解決方案,OpenShift在kubern...
    小白_18M閱讀 1,173評(píng)論 0 5
  • 目錄 場(chǎng)景假設(shè) 調(diào)優(yōu)步驟和方法 Storm 的部分特性 Storm 并行度 Storm 消息機(jī)制 Storm UI...
    mtide閱讀 17,069評(píng)論 30 60
  • Strom集群結(jié)構(gòu)是有一個(gè)主節(jié)點(diǎn)(nimbus)和多個(gè)工作節(jié)點(diǎn)(supervisor)組成的主從結(jié)構(gòu)咪橙,主節(jié)點(diǎn)通過(guò)配...
    看山遠(yuǎn)兮閱讀 2,840評(píng)論 0 7
  • 原文鏈接Storm Tutorial 本人原創(chuàng)翻譯夕膀,轉(zhuǎn)載請(qǐng)注明出處 這個(gè)教程內(nèi)容包含如何創(chuàng)建topologies及...
    quiterr閱讀 1,610評(píng)論 0 6
  • 春水初生菠剩,春林初盛易猫,春風(fēng)十里不如你 伴隨著軍訓(xùn)的集結(jié)號(hào) 飄出來(lái)的汗臭味,以及青春爆棚的荷爾蒙味 青春悄然無(wú)息地又回...
    入世新鮮人閱讀 630評(píng)論 1 2