關于jstorm單機安裝可以參看如下
http://hexiaoqiao.sinaapp.com/2014/06/jstorm%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/
https://github.com/alibaba/jstorm/wiki/%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85
這些是本人在安裝過程具體的安裝過程以及問題解決
1、安裝zeromq
wget http://download.zeromq.org/zeromq-3.2.4.tar.gz
tar zxf zeromq-3.2.4.tar.gz
cd zeromq-3.2.4
./configure (提示: error: Unable to find a working C++ compiler ----》先執行sudo yum install gcc 和$ sudo yum install gcc-c++ 在執行 ./configure 若是仍不能解決 則直接執行 ./configure -without-libsodium)
make
sudo make install
sudo ldconfig
2、安裝jzmq
wget https://github.com/zeromq/jzmq/tarball/master -O jzmq.tar.gz
tar zxf jzmq.tar.gz
cd jzmq
./autogen.sh(若是出現 ”jzmq error could not find libtool“ 則先執行 sudo yum install libtool 在執行該指令)
./configure
make
sudo make install
3、安裝zookeeper
wget http://apache.dataguru.cn/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz
tar zxf zookeeper-3.4.5.tar.gz
cd zookeeper-3.4.5
(在啟動zookeeper之前要調整conf檔案夾下 zoo-sample.cfg 拷貝一份 重命名為 ”zoo.cfg“ 否則會出現啟動失敗 pid之類的錯誤資訊)
./bin/zkServer.sh start
./bin/zkServer.sh stop
4.安裝jstorm
下載下傳jstorm安裝檔案:jstorm-2.1.0.tar.bz2
tar -jxvf jstorm-2.1.0.tar.bz2
配置$JSTORM_HOME/conf/storm.yaml
配置項:(如果是單機如下項并不是必須全部修改的)
------------------------------------------如下項是必須的----------------------------------
storm.zookeeper.servers: 表示zookeeper 的位址,
nimbus.host: 表示nimbus的位址
storm.zookeeper.root: 表示jstorm在zookeeper中的根目錄,當多個JStorm共享一個ZOOKEEPER時,需要設定該選項,預設即為“/jstorm”
storm.local.dir: 表示jstorm臨時資料存放目錄,需要保證jstorm程式對該目錄有寫權限
--------------------------------------如下可以不設定----------------------------------------
java.library.path: zeromq 和java zeromq library的安裝目錄,預設"/usr/local/lib:/opt/local/lib:/usr/lib"
supervisor.slots.ports: 表示supervisor 提供的端口slot清單,注意不要和其他端口發生沖突,預設是68xx,而storm的是67xx
supervisor.disk.slot: 表示提供資料目錄,當一台機器有多塊磁盤時,可以提供磁盤讀寫slot,友善有重IO操作的應用。
topology.enable.classloader: false, 預設關閉classloader,如果應用的jar與jstorm的依賴的jar發生沖突,比如應用使用thrift9,但jstorm使用thrift7時,就需要打開classloader
nimbus.groupfile.path: 如果需要做資源隔離,比如資料倉庫使用多少資源,技術部使用多少資源,無線部門使用多少資源時,就需要打開分組功能, 設定一個配置檔案的絕對路徑,改配置檔案如源碼中group_file.ini所示
storm.local.dir: jstorm使用的本地臨時目錄,如果一台機器同時運作storm和jstorm的話, 則不要共用一個目錄,必須将二者分離開
安裝完成jstorm和zookeeper記得設定下環境變量
同時$JSTORM_HOME/bin檔案夾下面的start.sh裡面java_home 和 jstorm位址要調整下
注:解決在jdk8環境下不能完成啟動問題($JSTORM_HOME/conf/storm.yaml)添加如下内容
nimbus.childopts: " -Xms1g -Xmx1g -Xmn768m -XX:SurvivorRatio=4 -XX:MaxTenuringThreshold=10 -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+HeapDumpOnOutOfMemoryError -XX:CMSMaxAbortablePrecleanTime=5000 "
worker.gc.childopts: " -XX:SurvivorRatio=4 -XX:MaxTenuringThreshold=10 -XX:+UseConcMarkSweepGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:CMSFullGCsBeforeCompaction=5 -XX:+HeapDumpOnOutOfMemoryError -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:CMSMaxAbortablePrecleanTime=5000 "