系統(tǒng)版本:CentOS 6.5
Storm版本:0.9.2穩(wěn)定版
安裝Storm前,需要做好以下兩個(gè)準(zhǔn)備工作:
有問題可以點(diǎn)擊鏈接進(jìn)入我之前的文章查看
一. 解壓安裝包apache-storm-0.9.2-incubating.tar
解壓apache-storm-0.9.2-incubating.tar安裝包
二. 創(chuàng)建項(xiàng)目目錄并將解壓目錄移入項(xiàng)目目錄中
mkdir /home/host1/storm
mv apache-storm-0.9.2-incubating /home/host1/storm/
三. 建立狀態(tài)存儲(chǔ)文件并修改Storm配置文件storm.yaml
進(jìn)入apache-storm-0.9.2-incubating目錄
cd apache-storm-0.9.2-incubating
vim conf/storm.yaml
配置內(nèi)容如下:
storm.zookeeper.servers:
- "storm1"
- "storm2"
- "storm3"
nimbus.host: "storm1"
storm.local.dir: "/root/storm2/storm/status"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703
注意:以上為必填的配置項(xiàng),其它配置可以根據(jù)需要填寫查看更多配置。配置必須嚴(yán)格按模板規(guī)則
填寫霜瘪,每行頂頭,前面不允許留有空格,并且“-”列上下必須對(duì)齊罪郊,這里很容易出錯(cuò)。
四. 配置環(huán)境變量并使環(huán)境變量立即生效
vim /etc/profile
編輯加入如下內(nèi)容:
export STORM_HOME=/home/host1/storm/apache-storm-0.9.2-incubating
export PATH=$STORM_HOME/bin:$PATH
:wq保存退出尚洽,使環(huán)境變量立即生效
source /etc/profile
五. 啟動(dòng)Storm集群并檢查相應(yīng)的進(jìn)程
在nimbus節(jié)點(diǎn)輸入:
storm ui >/dev/null 2>&1 &
//結(jié)果:[2] 12577
storm nimbus >/dev/null 2>&1 &
//結(jié)果:[3] 12737
在supervisor節(jié)點(diǎn)輸入:
storm supervisor >/dev/null 2>&1 &
啟動(dòng)完成后輸入jps查看進(jìn)程情況:
jps
如果在nimbus節(jié)點(diǎn)中包含nimbus悔橄、core、QuorumPeerMain、Jps進(jìn)程癣疟,supervisor節(jié)點(diǎn)中包含supervisor挣柬、QuorumPeerMain、Jps進(jìn)程睛挚,則證明storm啟動(dòng)成功邪蛔。
也可以瀏覽器登錄Storm監(jiān)控頁面更直觀的查看運(yùn)行狀態(tài)。
六. 通過瀏覽器登錄監(jiān)控UI頁面扎狱,查看監(jiān)控屬性
瀏覽器打開:http://{nimbus host}:8080
至此侧到,Storm集群安裝完畢并啟動(dòng)。
Storem常見配置項(xiàng)
- storm.zookeeper.servers:ZooKeeper服務(wù)器列表
- storm.zookeeper.port:ZooKeeper服務(wù)連接端口
- storm.local.dir:Storm使用本地系統(tǒng)目錄淤击,存儲(chǔ)少量狀態(tài)信息
- storm.cluster.mode:集群運(yùn)行模式([distrivuted|local])
- storm.zookeeper.session.timeout:客戶端連接ZooKeeper超時(shí)時(shí)間
- nimbus.host:nimbus服務(wù)器地址
- nimbus.task.timeout.secs:判斷task存活的心跳超時(shí)時(shí)間
- nimbus.supervisor.timeout.secs:判斷supervisor是否存活的心跳超時(shí)時(shí)間
- nimbus.task.launch.secs:task啟動(dòng)時(shí)的一個(gè)特殊超時(shí)設(shè)置
- ui.port:Storm UI的服務(wù)端口床牧,默認(rèn)
8080
- drpc.servers:DRPC的服務(wù)器列表,以便DRPCSpout知道和誰通訊
- drpc.port:Storm DRPC的服務(wù)端口
- supervisor.slots.ports:supervisor上能夠運(yùn)行workers的端口列表
- supervisor.worker.timeout.secs:判斷worker是否存活的心跳超時(shí)時(shí)間
- supervisor.worker.start.timeout.secs:supervisor初始心跳超時(shí)