天天看點

Centos7安裝JStorm2.1.1

系統環境 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

如下:

Centos7安裝JStorm2.1.1

參考資料

​​ JStorm-0.9.6.2安裝配置​​

​​ http://blog.csdn.net/shcyd/article/details/1354618 

​​​​Error contacting service. It is probably not running 錯誤​​

繼續閱讀