JStorm安裝

因爲工作需要,需要使用jstorm 現在把jstorm的安裝過程和大家分享一下,我是參照https://github.com/alibaba/jstorm 上面和百度進行安裝的.

安裝jstorm前 需要安裝jdk zookeeper  建議較新版本  我用的是3.4.6 參考其他日誌,這裏不再贅述

八臺服務器  CentOS 7 

 

1.python 

 python 需要至少2.6版本以上,

 python -v查看版本

2.安裝zeromq 

wget http://download.zeromq.org/zeromq-2.1.7.tar.gz 

tar zxf zeromq-2.1.7.tar.gz

cd zeromq-2.1.7

./configure

make

sudo make install

sudo ldconfig


這裏遇到了一個uuid未安裝的問題

configure: error: cannot link with -luuid, install uuid-dev.

百度了一下,解決辦法

yum install libuuid-devel


3.安裝jzmq 

git clone git://github.com/nathanmarz/jzmq.git

cd jzmq

./autogen.sh

./configure

make

make install

這裏遇到了兩個問題

 

具體的make 錯誤信息:

make[1]: *** No rule to make target`classdist_noinst.stamp',needed by `org/zeromq/ZMQ.class'.Stop.

解決方法:手動創建classdist_noinst.stamp 空文件。

touch src/classdist_noinst.stamp

 

 具體的make 錯誤信息:

error: cannot access org.zeromq.ZMQ class file fororg.zeromq.ZMQ not found

javadoc: error - Class org.zeromq.ZMQ not found.

解決方法:手動編譯,然後重新make 即可通過。

cd src

javac -d . org/zeromq/*.java

cd ..


3.安裝jstorm 

這裏 以  jstorm-0.9.6.2.zip 爲例

複製到/usr/local

unzip  jstorm-0.9.6.2.zip

配置環境變量

vi /etc/profile

exprot JSTOM_HOME=/usr/local/jstorm-0.9.62

export PATH=$JSTORM_HOME/bin:$PATH

 

vi  $JSTORM_HOME/conf/storm.yaml

 

配置 zookeeper節點

storm.zookeeper.servers:  

 -  “xxx.xxx.xxx.xxx”

 -  “xxx.xxx.xxx.xxx”

 -  “xxx.xxx.xxx.xxx”

配置主節點 

nimbus.host : “xxx.xxx.xxx.xxx”

 

 在主節點 使用  nohup jstorm nimbus & 命令啓動

在從節點 使用  nohup jstorm supervisor & 命令啓動

 

這裏遇到一個問題:  配置nimbus.host 時  : 與 “xxx.xxx.xxx.xxx” 要有空格否則報錯




4.啓動JStorm UI

mkdir ~/.jstorm

cp -f $JSTORM_HOME/conf/storm.yaml    ~/.jstorm    

這部要注意  在哪個節點上提交storm任務 就要在哪個節點進行復制操作

下載tomcat 7.x (以apache-tomcat-7.0.37 爲例)

tar -xzf apache-tomcat-7.0.37.tar.gz

cd apache-tomcat-7.0.37

cd webapps

cp $JSTORM_HOME/jstorm-ui-0.9.6.2.war ./

mv ROOT ROOT.old

ln -s jstorm-ui-0.9.6.2 ROOT         

 這個地方可能變化,是根據你的jstorm版本來確定,比如當0.9.6.1時,是ln -s jstorm-0.9.6.1 ROOT

另外不是 ln -s jstorm-ui-0.9.6.2.war ROOT 這個要小心

cd ../bin

./startup.sh

 

 

這裏遇到一個問題 python 佔用了 8080  tomcat/bin下的  server.xml 修改端口即可


5.關於操作命令 

啓動一個topology  

bin/jstorm jar xxxx.jar  com.xxxxx.jstorm.xxx .TestTopology   parameter

注: jar包名   你的包名+類名   parameter爲參數

 

查看一個topology

jstorm list | grep “wordcount”

 

kill掉一個topology 

 

jstorm kill  XXXXXX

XXXXXXtopology提交時的name

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