Storm0.9.2 集羣安裝部署
需要的軟件:
jdk1.8.0_162.tar.gz
apache-storm-0.9.2-incubating.tar.gz
Python-2.7.15.tgz
zookeeper-3.4.13.tar.gz
Storm0.9.2 集羣安裝部署
1. 部署環境準備
準備過程我已在Hadoop僞分佈式安裝的安裝前準備裏提到,可供參考。
2. 部署 Storm 集羣
3個節點配置 hosts
vim /etc/hosts 末尾添加
192.168.5.240 storm01
192.168.5.241 storm02
192.168.5.242 storm03
配置完以後reboot重啓機器,設置免祕鑰登錄,然後檢查3臺機器是否能ping通
2.1 搭建 Zookeeper 集羣
搭建過程可參考Storm0.9.2 集羣安裝部署2——Zookeeper 集羣安裝
2.2 依賴軟件安裝
2.2.1 安裝 JDK8
上傳 jdk1.8.0_162.tar.gz 到 tools 目錄,解壓到 /softwares/java8/ 下
配置java環境
vim /etc/profile
加入下面這兩行:
export JAVA_HOME=/home/softwares/java8
export PATH=$PATH:$JAVA_HOME/bin
刷新配置文件
source /etc/profile
查看java是否安裝成功
java -vesion
2.2.2 安裝 Python 2.7.15
安裝過程請參考
Storm0.9.2 集羣安裝部署1——Centos6.5的默認python2.6.6版本升級到python2.7.15
2.3 安裝 Storm 集羣
2.3.1 上傳apache-storm-0.9.2-incubating.tar.gz 解壓到softwares
tar -zxf apache-storm-0.9.2-incubating.tar.gz -C ../softwares/
2.3.2 進入apache-storm-0.9.2-incubating,建立存儲狀態的文件夾 status
cd apache-storm-0.9.2-incubating
mkdir status
2.3.3 獲取status目錄路徑
[root@storm01 status]# pwd
/home/softwares/apache-storm-0.9.2-incubating/status
2.3.4 修改 storm.yaml 配置文件
[root@storm03 apache-storm-0.9.2-incubating]# cd conf
[root@storm03 conf]# ls
storm_env.ini storm.yaml
[root@storm03 conf]# vim storm.yaml
storm.zookeeper.servers: Storm 集羣使用的 Zookeeper 集羣地址。 storm.local.dir: Nimbus 和 Supervisor 進程用於存儲少量狀態,如 jars、confs 等的本地磁盤目 錄,需要提前創建該目錄並給以足夠的訪問權限。然後在 storm.yaml 中配置該目錄。 nimbus.host: Storm 集羣 Nimbus 機器地址,各個 Supervisor 工作節點需要知道哪個機器是 Nimbus,以便下載 Topologies 的 jars、confs 等文件。 supervisor.slots.ports: 對於每個Supervisor工作節點,需要配置該工作節點可以運行的worker 數量。每個 worker 佔用一個單獨的端口用於接收消息,該配置選項即用於定義哪些端口是 可被 worker 使用的。默認情況下,每個節點上可運行 4 個 workers,分別在 6700、6701、 6702 和 6703 端口。
2.3.5 進入子目錄,並且配置環境變量,更新配置
vim /etc/profile
加入:
export STORM_HOME=/home/softwares/apache-storm-0.9.2-incubating
export PATH=$PATH:$STORM_HOME/bin
source /etc/profile
2.4 啓動 Storm 各後臺進程
2.4.1 先確認zookeeper進程已啓動
2.4.2 在 Storm 主控節點上運行:storm nimbus >/dev/null 2>&1 &
2.4.3 在 Storm 主控節點上運行:storm ui >/dev/null 2>&1 &
2.4.4 在 Storm 工作節點上運行:storm supervisor >/dev/null 2>&1 &
第四步執行後,可以通過 http://{nimbus host}:8080觀察集羣的 worker 資源使用情況、 Topologies 的運行狀態等信息。
列出 Storm Topology:storm list
停止 Storm Topology:storm kill {topologyname}
提交 Storm Topology:storm jar mycode.jar storm.MyTopology arg1 arg2 … mycode.jar:包含 Topology 實現代碼的 jar 包
storm.MyTopology:main 方法的入口,即 main 方法所在類名
arg1、arg2 等爲 main 方法參數
查看進程是否啓動
jps
使用監控頁面查看狀態
http://192.168.5.240:8080