系統環境 Centos7
外網ip 182.254.145.66
内網ip 10.105.23.114
安裝位置 /usr/local/jstorm-2.1.1
安裝zookeeper
不過這篇部落格有個問題
/datatmp/zookeeper/logs
這個檔案夾是需要手動建立的
安裝python
Centos7本身已經自帶了Python2.7.5
使用python -V即可檢視python的版本
安裝JStorm
wget http://42.121.19.155/jstorm/jstorm-2.1.1.zip
unzip jstorm-2.1.1.zip
cd jstorm-2.1.1
修改配置檔案conf/storm.yaml
我的storm.yaml如下: (已經去掉注釋)
########### These MUST be filled in for a storm configuration
storm.zookeeper.servers:
- "10.105.23.114"
storm.zookeeper.root: "/jstorm"
nimbus.host: "10.105.23.114"
nimbus.host.start.supervisor: false
nimbus.childopts: "-Xmx256m"
supervisor.childopts: "-Xmx256m"
worker.childopts: "-Xmx128m"
storm.local.dir: "%JSTORM_HOME%/data"
supervisor.slots.ports:
- 6800
- 6801
- 6802
- 6803
yaml檔案的格式比較麻煩 在這裡,我就說一點
在縮排中空白字元的數目并不是非常重要,隻要相同階層的元素左側對齊就可以了(不過不能使用TAB字元);
我的/etc/hosts
127.0.0.1 localhost
10.105.23.114 VM_23_114_centos
/
2016-6-30日修改
我在我的虛拟機上搭建的jstorm的時候
私網位址是10.150.0.94 在hosts裡面對應的域名也是localhost
結果報錯Caused by: java.lang.Exception: the hostname which supervisor get is localhost
是以我把localhost改成了localhost2
然後重新開機網卡就OK 設定完後須運作/etc/init.d/network restart,否則不起作用
/
在~/.bashrc末尾加入:
export JSTORM_HOME=/usr/local/jstorm-2.1.1
export PATH=$PATH:$JSTORM_HOME/bin
然後 使環境變量生效:
source ~/.bashrc
配置完上面内容後,需要建立~/.jstorm目錄,并将配置好的storm.yaml檔案拷貝到該目錄下:
mkdir ~/.jstorm
cp -f /usr/local/jstorm-2.1.1/conf/storm.yaml ~/.jstorm
安裝JStorm UI
jstorm的安裝目錄下就有 jstorm-ui-2.1.1.war
先安裝tomcat
wget http://apache.fayea.com/tomcat/tomcat-7/v7.0.57/bin/apache-tomcat-7.0.57.zip
unzip apache-tomcat-7.0.57.zip
cd apache-tomcat-7.0.57
chmod +x bin/*.sh
把放到tomcat的webapps的ROOT裡,如果jstorm-ui-2.1.1隻當做一個普通的項目與ROOT并列,會發現運作的時候JStorm有些圖檔顯示不出來
cp ~/jstorm-2.1.1/jstorm-ui-2.1.1.war webapps/
mv ROOT ROOT.old
ln -s jstorm-ui-0.9.6.2 ROOT
java測試代碼
見http://blog.csdn.net/xeseo/article/details/17683049
啟動JStorm
先啟動zookeeper
zookeeper-3.4.6/bin/zkServer.sh start
在jstorm-2.1.1/bin下
先啟動nimbus與supervisor
nohup jstorm nimbus &
nohup jstorm supervisor &
然後去
/usr/local/jstorm-2.1.1/logs
下看nimbus.log與supervisor.log
看是否有錯誤
然後啟動
./jstorm jar storm-samples.jar mystorm.ExclaimBasicTopo test
storm-samples.jar是之前的測試代碼打成的jar包
mystorm.ExclaimBasicTopo是啟動類
最後的test就是Topologyname
另外 再說明一下,那個jar裡面是沒有storm的依賴包的,就隻有我們寫的那些類
jstorm-2.1.1/lib下有需要的外部jar
檢視JStormUI
通路182.254.145.66:8080
如下:
參考資料
JStorm-0.9.6.2安裝配置
http://blog.csdn.net/shcyd/article/details/1354618
Error contacting service. It is probably not running 錯誤