mac上Jstorm單機安裝實操
由於我的電腦是mac pro,想在本地安裝一個阿里Jstorm玩玩,發現在Linux上的安裝教程很多,但是mac上的能完整安裝成功的沒有。
雖然mac的核心也是linux但是還是有一定的差別,導致我們要安裝很多的工具型程式
下面讓我們開始吧
首先去官網參考一下 官網給的安裝路數:https://github.com/alibaba/jstorm/wiki/如何安裝
1.python沒有的安裝python
2)安裝,一般來說不會出現太大的問題吧,可能有許可權的問題,只要在命令前新增sudo就可以解決了。
Python程式碼
- $ tar –jxvf Python-2.7.3.tar.bz2
- $ cd Python-2.7.3
- $ ./configure
- $ make
- $ make install
3) 測試安裝結果:python - version
2.安裝JDK(1.7版本或以上)
3.安裝JStorm
在安裝 JStorm之前你得需要額外的安裝ZeroMQ,JZMQ,tomacat(版本選7.0以上)等
在安裝MQ之前,還得做一下輔助程式的安裝如下:
1>.安裝pkg-config
1.檢測環境是否已安裝pkg-config
再命令列中輸入: pkg-config 若未安裝,則提示命令未找到.
2.安裝pkg-config
curl http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz -o pkg-config-0.28.tar.gz
tar -xf pkg-config-0.28.tar.gz
cd pkg-config-0.28
./configure --with-internal-glib
make
sudo make install
結束2>.在mac os 中安裝 autoconf and automake
你需要安裝很多東西,請按照以下順序安裝:
安裝的版本包也不能錯:
tar -xzvf m4-1.4.13.tar.gz
cd m4-1.4.13
./configure --prefix=/usr/local
make
sudo make install
cd ..
tar -xzvf autoconf-2.65.tar.gz
cd autoconf-2.65
./configure --prefix=/usr/local # ironic, isn't it?
make
sudo make install
cd ..
# here you might want to restart your terminal session, to ensure the new autoconf is picked up and used in the rest of the script
tar xzvf automake-1.11.tar.gz
cd automake-1.11
./configure --prefix=/usr/local
make
sudo make install
cd ..
tar xzvf libtool-2.2.6b.tar.gz
cd libtool-2.2.6b
./configure --prefix=/usr/local
make
sudo make install
3>安裝安裝ZeroMQ,JZMQ
下載安裝ZeroMQ 下載地址: wget http://zeromq.org/area:download 編譯安裝 $ cd zeromq-4.2.0 $ ./configure $ make $ sudo make install 下載安裝jzmq 下載地址:wget https://codeload.github.com/zeromq/jzmq/zip/master 編譯安裝 $ cd jzmq-master $ cd jzmq-jni/$ ./autogen.sh $ ./configure $ make $ sudo make install
4>接下來開始Jstorm和Tomacat8.x(主要是提供Jstorm的web UI 支援)的安裝
安裝JStorm
假設以jstorm-0.9.6.3.zip為例
unzip jstorm-0.9.6.3.zip
vi /etc/profile
export JSTORM_HOME=/XXXXX/XXXX
export PATH=$PATH:$JSTORM_HOME/bin
source /etc/profile
配置$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
- topology.enable.classloader: false, 預設關閉classloader,如果應用的jar與JStorm的依賴的jar發生衝突,比如應用使用thrift9,但jstorm使用thrift7時,就需要開啟classloader。建議在叢集級別上預設關閉,在具體需要隔離的topology上開啟這個選項。
在提交jar的節點上執行:
#mkdir ~/.jstorm
#cp -f $JSTORM_HOME/conf/storm.yaml ~/.jstorm
安裝JStorm Web UI
必須使用tomcat 7.0 或以上版本, 注意不要忘記拷貝 ~/.jstorm/storm.yaml
Web UI 可以和Nimbus不在同一個節點
mkdir ~/.jstorm
cp -f $JSTORM_HOME/conf/storm.yaml ~/.jstorm
下載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.3.war ./
mv ROOT ROOT.old
ln -s jstorm-ui-0.9.6.3 ROOT 這個地方可能變化,是根據你的JStorm版本來確定,比如當0.9.6.1時,是ln -s jstorm-0.9.6.1 ROOT
另外不是 ln -s jstorm-ui-0.9.6.3.war ROOT 這個要小心
cd ../bin
./startup.sh
啟動JStorm
- 在nimbus 節點上執行 “nohup jstorm nimbus &”, 檢視$JSTORM_HOME/logs/nimbus.log檢查有無錯誤
- 在supervisor節點上執行 “nohup jstorm supervisor &”, 檢視$JSTORM_HOME/logs/supervisor.log檢查有無錯誤