storm

storm作業(yè)

storm啟停腳本的編寫(xiě):

第一步:在master節(jié)點(diǎn)創(chuàng)建start-supervisor.sh腳本,然后分發(fā)到各個(gè)服務(wù)器,就可以通過(guò)運(yùn)行該腳本開(kāi)啟supervisor服務(wù)

start-supervisor.sh腳本

#!/bin/bash

#使配置的storm環(huán)境變量生效

source /home/hadoop/.bashrc

#后臺(tái)運(yùn)行supervisor

nohup storm supervisor >/dev/null? 2>&1 &

第二步:在master節(jié)點(diǎn)創(chuàng)建supervisor-hosts文件,用來(lái)存放主機(jī)名

supervisor-hosts

hadoop02

hadoop03

hadoop04

第三步:在master節(jié)點(diǎn)創(chuàng)建start-all.sh啟動(dòng)所有supervisor

start-all.sh

#!/bin/bash

source /home/hadoop/.bashrc

#重寫(xiě)bin和supervisor目錄

bin=/home/hadoop/apps/apache-storm-0.9.7/bin

supervisors=/home/hadoop/apps/apache-storm-0.9.7/bin/supervisor-hosts

#啟動(dòng)主節(jié)點(diǎn)

nohup storm nimbus >/dev/null? 2>&1 &

#讀取supervisor-hosts文件中每一個(gè)節(jié)點(diǎn)執(zhí)行start-supervisor.sh腳本啟動(dòng)supervisor服務(wù)

#while后面的supervisor用來(lái)接收讀取到的每一行數(shù)據(jù)

cat $supervisors | while read supervisor

do

echo $supervisor

ssh $supervisor $bin/start-supervisor.sh

done

第四步:寫(xiě)停止腳本

stop-all.sh

#!/bin/bash

source /home/hadoop/.bashrc

#重寫(xiě)bin和supervisor目錄

bin=/home/hadoop/apps/apache-storm-0.9.7/bin

supervisors=/home/hadoop/apps/apache-storm-0.9.7/bin/supervisor-hosts

#把nimbus相關(guān)的進(jìn)程都?xì)⒌?/p>

kill -9 `ps -ef | grep java | grep nimbus | awk '{print $2}'`

#停止所有的supervisor

cat $supervisors | while read supervisor

do

echo $supervisor

ssh $supervisor $bin/stop-supervisor.sh &

done

第五步:在各節(jié)點(diǎn)的storm的bin目錄下編寫(xiě)腳本stop-supervisor.sh

stop-supervisor.sh

#!/bin/bash

source /home/hadoop/.bashrc

#殺死supervisor進(jìn)程

kill -9 `ps -ef | grep java | grep supervisor | awk '{print $2}'`

第六步:上傳所有腳本到storm/bin目錄下,并將start-supervisor.sh和stop-supervisor.sh分發(fā)到所有storm集群節(jié)點(diǎn):Hadoop02,Hadoop04

第七步:為了防止重名:修改腳本名字為 storm-start-all.sh 和 storm-stop-all.sh

第八步:修改所有腳本運(yùn)行權(quán)限:chmod 755 *.sh

在家目錄下運(yùn)行stop-storm-all.sh腳本

出錯(cuò):

錯(cuò)誤一:-bash: /home/hadoop/apps/apache-storm-0.9.7/bin/start-storm-all.sh: /bin/bash^M: bad interpreter: No such file or directory

[hadoop@hadoop03 bin]$ sh start-storm-all.sh

: No such file or directory /home/hadoop/.bashrc

先注釋掉.bashrc命令行,在外部手動(dòng)開(kāi)啟全局環(huán)境變量

錯(cuò)誤二:?jiǎn)为?dú)運(yùn)行腳本stop-supervisor.sh ?arguments must be process or job IDs0


storm搭建:

官網(wǎng):storm.apache.org

版本:apache-storm-1.1.1.tar.gz

配置文件storm.yaml的修改?

參考http://storm.apache.org/releases/1.1.1/Setting-up-a-Storm-cluster.html

1)storm.zookeeper.servers: This is a list of the hosts in the Zookeeper cluster for your Storm cluster. It should look something like:

storm.zookeeper.servers:

- "hadoop02"

- "hadoop03"

- "hadoop04"

2)storm.local.dir

storm.local.dir:"/home/hadoop/log/storm"

3)nimbus.seeds:---主節(jié)點(diǎn)

nimbus.host: "hadoop03"

4)supervisor.slots.ports:

supervisor.slots.ports:

- 6700

- 6701

- 6702

- 6703

發(fā)送安裝包

運(yùn)行storm集群

在主節(jié)點(diǎn)運(yùn)行Nimbus:【Hadoop03】bin/storm nimbus

后臺(tái):nohup storm nimbus >/dev/null? 2>&1 &

啟動(dòng)后臺(tái)ui管理界面:nohup storm ui >/dev/null? 2>&1 &

在其余節(jié)點(diǎn)運(yùn)行Supervisor:bin/storm supervisor

后臺(tái):nohup storm supervisor >/dev/null? 2>&1 &

在UI界面查看storm: http://{ui host}:8080.

強(qiáng)制殺死:kill -s -9 進(jìn)程號(hào)

搭建集群中遇到的問(wèn)題

1、參數(shù)supervisor.slots.ports是用來(lái)指定一個(gè)節(jié)點(diǎn)最多可以運(yùn)行的task的數(shù)目,storm中一個(gè)節(jié)點(diǎn)最多四個(gè)task,其中的一個(gè)端口號(hào)表示一個(gè)task任務(wù)

2、啟動(dòng)storm之前可以先配置環(huán)境變量,然后在家目錄下就可以執(zhí)行命令

nohup storm nimbus >/dev/null? 2>&1 &

nohup storm supervisor >/dev/null? 2>&1 &

3、要查看storm的ui界面,首先要在后臺(tái)開(kāi)啟ui管理界面才能訪(fǎng)問(wèn)

nohup storm ui >/dev/null? 2>&1 &

4、nimbus和supervisor的節(jié)點(diǎn)選?。簄imbus選取在Hadoop03(hdfs的active NameNode,純屬主觀意愿),supervisor的節(jié)點(diǎn)選取在Hadoop02,Hadoop03,Hadoop04

5、nimbus,supervisor是什么?

storm中8大概念:

1)Topologies:拓?fù)淙蝿?wù):地鐵運(yùn)送乘客的任務(wù),其中包含多個(gè)spout和bolt

2)Streams:地鐵5號(hào)線(xiàn),運(yùn)送乘客(數(shù)據(jù))

3)Spouts:起始站

4)Bolts:中間站

5)Stream groupings

6)Reliability

7)Tasks

8)Workers


storm架構(gòu):

默認(rèn)情況下,一個(gè)supervisor節(jié)點(diǎn)最多可以啟動(dòng)4個(gè)worker進(jìn)程,每一個(gè)topology默認(rèn)占用一個(gè)worker進(jìn)程,每個(gè)worker進(jìn)程會(huì)啟動(dòng)1個(gè)或者多個(gè)executor,每個(gè)executor啟動(dòng)1個(gè)task。

最重要的是并行度/高并發(fā)以及線(xiàn)程安全的實(shí)現(xiàn)。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Date: Nov 17-24, 2017 1. 目的 積累Storm為主的流式大數(shù)據(jù)處理平臺(tái)對(duì)實(shí)時(shí)數(shù)據(jù)處理的相關(guān)...
    一只很努力爬樹(shù)的貓閱讀 2,325評(píng)論 0 4
  • storm技術(shù)的引入 對(duì)于一些要求進(jìn)行實(shí)時(shí)數(shù)據(jù)分析的,并以秒級(jí)、甚至毫秒級(jí)就要反饋結(jié)果的場(chǎng)景(交通部門(mén)監(jiān)控超速車(chē)輛...
    心_的方向閱讀 667評(píng)論 0 3
  • 1. Storm介紹: Storm是實(shí)時(shí)流計(jì)算框架。企業(yè)中典型實(shí)時(shí)分析框架搭建模式: Flume + Kafka ...
    奉先閱讀 1,785評(píng)論 0 3
  • 一直覺(jué)得自己是一個(gè)能熬夜,不能起早的人。以前覺(jué)得這是個(gè)人習(xí)慣,沒(méi)覺(jué)得有什么不好。不知從什么時(shí)候開(kāi)始開(kāi)始通宵熬夜之后...
    長(zhǎng)頸鹿感恩每一天閱讀 1,864評(píng)論 0 1
  • 今天第二天,沒(méi)什么明顯變化,早上一量發(fā)現(xiàn)比昨天同一時(shí)間重了兩公斤,我在想晚上沒(méi)吃什么呀 后來(lái)?yè)Q掉牛仔褲以后少了兩公...
    沒(méi)困落夫斯基閱讀 200評(píng)論 1 2

友情鏈接更多精彩內(nèi)容