Storm集羣安裝Version1.0.1

Storm集羣安裝,基於版本1.0.1,
使用apache-storm-1.0.1.tar.gz安裝包。

1.安裝規劃

角色規劃 IP/機器名 安裝軟件 運行進程
nimbus zdh-237 storm core,nimbus
supervisor zdh-238 storm supervisor,worker,LogWriter
supervisor zdh-239 storm supervisor,worker,LogWriter

2.安裝用戶

storm/zdh1234
useradd -g hadoop -s /bin/bash -md /home/storm storm

3.安裝依賴

1.JDK
2.Python
3.Zookeeper

4.主機名配置

vi /etc/hosts
10.43.159.237 zdh-237
10.43.159.238 zdh-238
10.43.159.239 zdh-239

5.JDK安裝

可以使用root用戶安裝的公共jdk,要求JDK 6+,
爲Storm用戶下配置jdk環境變量

export JAVA_HOME=/usr/java/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

6.Python安裝

確定系統自帶的Python版本,如果是2.6.6+可以不用再安裝。
python -V

7.Zookeeper安裝

請參考Zookeeper集羣安裝
這裏使用的Zookeeper集羣信息:
zdh-237,zdh-238,zdh-239
服務端口爲默認的2181。

8.Storm安裝

請自行從官網獲取安裝包:
apache-storm-1.0.1.tar.gz
將安裝包拷貝到zdh-237的storm用戶下
scp [email protected]:/home/ling/storm/apache-storm-1.0.1.tar.gz .
解壓安裝包:
tar -zxvf apache-storm-1.0.1.tar.gz
配置環境變量:

export STORM_HOME=/home/storm/apache-storm-1.0.1
export PATH=$PATH:$STORM_HOME/bin

創建本地數據存放的目錄:
mkdir /home/storm/apache-storm-1.0.1/data

9.修改storm.yaml文件

vi conf/storm.yaml
storm.zookeeper.servers:
    - "zdh-237"
    - "zdh-238"
    - "zdh-239"
storm.zookeeper.port: 2181
storm.local.dir: "/home/storm/apache-storm-1.0.1/data"
nimbus.seeds: ["zdh-237", "zdh-238", "zdh-239"]
ui.port: 18080
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703

10.拷貝Storm到集羣其他機器

zdh-237的stom複製到zdh-238,zdh-239節點的storm用戶下:
scp -r storm@zdh-237:/home/storm/apache-storm-1.0.1 .
或者僅僅拷貝配置文件
scp storm@zdh-237:/home/storm/apache-storm-1.0.1/conf/storm.yaml .

11.啓動Storm

啓動之前請確保ZooKeeper已正常啓動

11.1.nimbus節點啓動(無日誌)

bin/storm nimbus >/dev/null 2>&1 &
bin/storm ui >/dev/null 2>&1 &
supervisor節點啓動:
bin/storm supervisor >/dev/null 2>&1 &

11.2.nimbus節點啓動(保存日誌):

storm nimbus >nimbusInit.log 2>&1 &
storm ui >uiCoreInit.log 2>&1 &
supervisor節點啓動:
storm supervisor > superInit.log 2>&1 &

11.3.Storm啓動後相關進程

nimbus啓動後相應會產生如下進程:
core(對應Storm UI)
nimbus

supervisor啓動後相應會產生如下進程:
supervisor
提交storm任務後還會生成:
worker,LogWriter

11.4.Storm重啓

Storm沒有提高停止節點的命令,
需要先使用jps或者ps找到Storm所有進程,
再kill掉相應進程,重新啓動。

12.運行自帶測試用例

cd /home/storm/apache-storm-1.0.1/examples/storm-starter/
storm jar storm-starter-topologies-1.0.1.jar storm.starter.StatefulWindowingTopology wordcount
storm jar storm-starter-topologies-1.0.1.jar storm.starter.StatefulTopology StatefulTopologyNew3

停止拓撲任務wordcount:
storm deactivate wordcount

查看Storm後臺管理界面:
10.43.159.237:18080

查看Storm版本:
storm version

13.Storm OOM 內存溢出問題

需要設置的內存參數,以及增大任務的並行度,spout的獲取數據速度。
nimbus.childopts: "-Xmx1024m"
supervisor.childopts: "-Xmx1024m"
worker.childopts: "-Xmx1024m"

14.無法識別主機

提交storm任務時,其他節點supervisor節點無法下載jar包,不能執行任務:
message org.apache.storm.thrift.transport.TTransportException: java.net.UnknownHostException: zdh-237.site
無法識別zdh-237.site主機,刪除zdh-237.site的配置
10.43.159.237 zdh-237.site zdh-237

15.日誌查看配置

在任務中打印的日誌需要修改下面的log4j配置,才能看到結果
-Dlog4j.configurationFile=/home/storm/apache-storm-1.0.1/log4j2/worker.xml
日誌查看:
/home/storm/apache-storm-1.0.1/data/workers/2d60e758-3733-481a-a0b1-2e1e054127d8/artifacts/worker.log
-Dlog4j.configurationFile=/home/storm/apache-storm-1.0.1/log4j2/cluster.xml

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章