Storm集群部署與單詞計數(shù)程序

要搭建storm集群首先需要由zookeeper鼠次,這里使用三臺機器撵溃,一臺做做nimbus(mini1機器)息罗,兩臺做supervisor(mini2和mini3機器)掂咒。
三臺hosts文件如下

[root@mini1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 localhost.jinbm
192.168.25.127 mini1
192.168.25.129 mini2
192.168.25.130 mini3

這里還是使用root用戶來搭建
按照一般集群部署流程
集群部署的流程:下載安裝包、解壓安裝包迈喉、修改配置文件绍刮、分發(fā)安裝包、啟動集群挨摸。
1孩革、下載storm,我這里下載的是apache-storm-0.9.5.tar.gz得运,傳到mini1機器上膝蜈。
2、解壓storm安裝包到apps文件夾下(如果沒有該文件夾需要創(chuàng)建熔掺,我這里以前將zookeeper饱搏,hadoop等都解壓到了這個文件夾方便統(tǒng)一管理),解壓后置逻,修改名字為storm(一來為了方便推沸,但主要是為了配置環(huán)境變量方便,即使以后換了storm版本只要改名為storm那么環(huán)境變量已然有效)券坞。

[root@mini1 ~]# tar -zxvf apache-storm-0.9.5.tar.gz -C apps/
[root@mini1 ~]# cd apps/
[root@mini1 apps]# ll
總用量 24
drwxr-xr-x.  8 root   root   4096 10月 19 15:15 apache-flume-1.6.0-bin
drwxr-xr-x.  9 root   root   4096 10月 30 15:24 apache-storm-0.9.5
drwxrwxr-x. 10 hadoop hadoop 4096 9月  30 22:04 hadoop-2.6.4
drwxr-xr-x.  7 root   root   4096 10月 30 00:20 hbase
drwxr-xr-x.  8 root   root   4096 10月 17 12:38 hive
drwxr-xr-x. 10 root   root   4096 10月 29 23:21 zookeeper-3.4.6
[root@mini1 apps]# mv apache-storm-0.9.5/ storm

3鬓催、修改環(huán)境變量(三臺機器都一樣)
最后添加2兩信息

[root@mini1 storm]# vi /etc/profile
...
export STORM_HOME=/root/apps/storm
export PATH=$PATH:$STORM_HOME/bin

[root@mini1 storm]# source /etc/profile

4、修改配置文件报慕,進入strom目錄的conf目錄下深浮,修改配置文件storm.yaml。添加內容如下:

[root@mini1 conf]# vi storm.yaml 
#指定storm使用的zk集群
storm.zookeeper.servers:
- "mini1"
- "mini2"
- "mini3"
#指定storm集群中的nimbus節(jié)點所在的服務器
nimbus.host: "mini1"
#指定nimbus啟動JVM最大可用內存大小
nimbus.childopts: "-Xmx1024m"
#指定supervisor啟動JVM最大可用內存大小
supervisor.childopts: "-Xmx1024m"
#指定supervisor節(jié)點上眠冈,每個worker啟動JVM最大可用內存大小
worker.childopts: "-Xmx768m"
#指定ui啟動JVM最大可用內存大小飞苇,ui服務一般與nimbus同在一個節(jié)點上。
ui.childopts: "-Xmx768m"
#指定supervisor節(jié)點上蜗顽,啟動worker時對應的端口號布卡,每個端口對應槽,每個槽位對應一個worker雇盖,這里是4個worker
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703

5忿等、將配置好的storm安裝包分發(fā)到mini2和mini3機器上/root/apps目錄下

[root@mini1 apps]# scp -r storm/ mini2:/root/apps/
[root@mini1 apps]# scp -r storm/ mini3:/root/apps/

6、啟動集群
mini1機器上進入storm的bin目錄下啟動nimbus和ui
可以使用nuhub指令啟動但是如果沒安裝的話就按照我下面的崔挖,無非多開兩個窗口

啟動nimbus
[root@mini1 bin]# ./storm nimbus
換個窗口啟動ui
[root@mini1 bin]# ./storm ui
[root@mini1 ~]# jps
14783 Jps
4550 QuorumPeerMain
14648 nimbus
14714 core

在mini2和mini3上分別啟動supervisor
[root@mini2 bin]# ./storm supervisor 
[root@mini3 bin]# ./storm supervisor
[root@mini3 ~]# jps
3466 QuorumPeerMain
8912 Jps
8826 supervisor

查看集群是否啟動起來
瀏覽器輸入mini1:8080

image

Cluster Summary中能看到Supervisor的個數(shù)為2贸街,對應的物理機mini2和mini3各啟了一個庵寞。空閑的槽有8個薛匪,總共有8個槽(即worker數(shù)捐川,配置文件中配了4個端口也就是4個worker,mini2和mini3個四個所以就是8個)

Topology summary沒有內容是因為還沒有跑storm程序
后面還有Supervisor summary與Nimbus Configuration的相關信息逸尖。
現(xiàn)在使用storm命令來跑個wordcount程序古沥。
在mini3機器上(隨意)

[root@mini3 storm]# storm jar examples/storm-starter/storm-starter-topologies-0.9.5.jar storm.starter.WordCountTopology wordcount
...
File 'examples/storm-starter/storm-starter-topologies-0.9.5.jar' uploaded to 'storm-local/nimbus/inbox/stormjar-dfed4e29-132b-45d8-9e5a-f5cbb87c4927.jar' (3248678 bytes)
487  [main] INFO  backtype.storm.StormSubmitter - Successfully uploaded topology jar to assigned location: storm-local/nimbus/inbox/stormjar-dfed4e29-132b-45d8-9e5a-f5cbb87c4927.jar
488  [main] INFO  backtype.storm.StormSubmitter - Submitting topology wordcount in distributed mode with conf {"topology.workers":3,"topology.debug":true}
825  [main] INFO  backtype.storm.StormSubmitter - Finished submitting topology: wordcount

再次查看頁面

image

看到了使用了三個Worker,共28個executor(28個task娇跟,默認情況下executor=task=thread數(shù))有個wordcount程序在跑岩齿。點擊
Topology summary下的wordcount,查看拓撲詳情

image

能看到一個Spout2個Bolt苞俘,id也列出來了盹沈。各自使用的線程數(shù)已經發(fā)射數(shù)據(jù)轉換數(shù)據(jù)。要看具體的spout和bolt信息苗胀,點擊進去即可襟诸,這里查看下split

image

線程的id瓦堵,使用了那臺機器的哪個端口(槽基协,即worker),發(fā)射數(shù)據(jù)都有菇用。

查看日志
在nimbus上查看ui日志信息(別的自行查看)

[root@mini1 storm]# tail -100f logs/ui.log 
2017-10-30T15:36:06.293+0800 o.m.log [INFO] Logging to Logger[org.mortbay.log] via org.mortbay.log.Slf4jLog
2017-10-30T15:36:06.304+0800 o.m.log [INFO] jetty-6.1.26
2017-10-30T15:36:06.339+0800 o.m.log [INFO] Started SocketConnector@0.0.0.0:8080
2017-10-30T15:36:08.779+0800 b.s.thrift [INFO] Connecting to Nimbus at mini1:6627
2017-10-30T15:36:08.779+0800 b.s.thrift [INFO] Connecting to Nimbus at mini1:6627
...

在mini2或者mini3查看worker信息

[root@mini3 logs]# ll
總用量 48812
-rw-r--r--. 1 root root        0 10月 30 15:37 access.log
-rw-r--r--. 1 root root        0 10月 30 15:37 metrics.log
-rw-r--r--. 1 root root    18284 10月 30 16:23 supervisor.log
-rw-r--r--. 1 root root 49961204 10月 30 16:43 worker-6703.log
[root@mini3 logs]#  tail -100f worker-6703.log 

一些總結
Worker與topology
一個worker只屬于一個topology,每個worker中運行的task只能屬于這個topology澜驮。
反之,一個topology包含多個worker惋鸥,其實就是這個topology運行在多個worker上杂穷。
一個topology要求的worker數(shù)量如果不被滿足,集群在任務分配時卦绣,根據(jù)現(xiàn)有的worker先運行topology耐量。
如果當前集群中worker數(shù)量為0,那么最新提交的topology將只會被標識active滤港,不會運行廊蜒,
只有當集群有了空閑資源之后,才會被運行溅漾。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末山叮,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子添履,更是在濱河造成了極大的恐慌屁倔,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件暮胧,死亡現(xiàn)場離奇詭異锐借,居然都是意外死亡问麸,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進店門钞翔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來口叙,“玉大人,你說我怎么就攤上這事嗅战⊥铮” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵驮捍,是天一觀的道長疟呐。 經常有香客問我,道長东且,這世上最難降的妖魔是什么启具? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮珊泳,結果婚禮上鲁冯,老公的妹妹穿的比我還像新娘。我一直安慰自己色查,他們只是感情好薯演,可當我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著秧了,像睡著了一般跨扮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上验毡,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天衡创,我揣著相機與錄音,去河邊找鬼晶通。 笑死璃氢,一個胖子當著我的面吹牛,可吹牛的內容都是我干的狮辽。 我是一名探鬼主播一也,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼隘竭!你這毒婦竟也來了塘秦?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤动看,失蹤者是張志新(化名)和其女友劉穎尊剔,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體菱皆,經...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡须误,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年挨稿,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片京痢。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡奶甘,死狀恐怖,靈堂內的尸體忽然破棺而出祭椰,到底是詐尸還是另有隱情臭家,我是刑警寧澤,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布方淤,位于F島的核電站钉赁,受9級特大地震影響,放射性物質發(fā)生泄漏携茂。R本人自食惡果不足惜你踩,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望讳苦。 院中可真熱鬧带膜,春花似錦、人聲如沸鸳谜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽卿堂。三九已至束莫,卻和暖如春懒棉,著一層夾襖步出監(jiān)牢的瞬間草描,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工策严, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留穗慕,地道東北人。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓妻导,卻偏偏與公主長得像逛绵,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子倔韭,可洞房花燭夜當晚...
    茶點故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內容