Jstorm 集羣搭建過程/Jstorm集羣一鍵安裝部署

原文地址:http://www.kuqin.com/shuoit/20150513/346034.html


Jstorm 官方搭建使用過程如連接https://github.com/alibaba/jstorm/wiki/%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85,我整理了三個腳本:安裝 Jstorm 集羣安裝 jstorm_web_ui 監控頁面啓動zookeeper、Jstorm集羣進行測試

說明

三個腳本是測試環境搭建使用的,三臺機器:192.168.9.92192.168.9.93192.168.9.94
如果在其他機器上面使用,必須修改腳本中相應有ip的地方 ,腳本在文章最後提供,在zip文件夾裏面有完整的一份,使用的時候直接使用zip文件夾即可。

使用方法

zip包解壓到測試環境/home/work目錄下,解壓後,執行目錄中的三個腳本,順序執行,即可安裝完畢。

搭建腳本如下

Jstorm 集羣安裝過程 :

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#!/bin/bash

# author: xirong 
# date  :  2015-02-06 

####
# 此腳本爲在測試環境192.168.9.92~94 三臺機器上面搭建 jstorm 集羣的腳本,免去一步步的安裝的過程,如果換其他環境,把文中的ip修改即可
# 詳細步驟請參考 https://github.com/alibaba/jstorm/wiki/%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85
#	
# 安裝目錄
# jstorm : /opt/jstorm-0.9.6.2, zookeeper : /opt/zookeeper-3.4.6 , java : /opt/jdk1.7.0_75 
#
# 注意:執行此shell腳本時候,最好使用 source jstorm_install.sh 或者 . jstorm_install.sh 強制在當前shell進程中執行,否則當前shell腳本獲取不到>修改的這些環境變量值 
# 		遇到sudo的命令時需要輸入密碼
# 腳本執行前提:
#		存在用戶work,即存在/home/work/目錄 ;
#       全新機器無Java
#		機器已經存在 Python 2.6,一般centos自帶
# 
# 執行完腳本後需要手動操作的步驟:
# 1. zookeeper 集羣需要每臺機器標記自己身份,vim $dataDir/myid 將機器的標識填入,比如第一天機器即爲1,二臺爲2,以此類推      
#### 

# 在64系統裏執行32位程序如果出現/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

# 解決錯誤Failed to set locale, defaulting to C 
echo "export LC_ALL=en_US.UTF-8"  >>  /etc/profile  
source /etc/profile 


yum install glibc.i686
echo 'finish pre install glibc.i686'

echo 'start unzip all files'
#tar -zxf jstorm.tar.gz 
unzip jstorm.zip
echo 'finish unzip all files and start java setup'
cd jstorm_tar/
tar -zxf jdk-7u75-linux-i586.tar_0.gz -C /opt/
echo 'finish unzpip jdk-7u75-linux-i586.tar_0.gz && start java envirenment settting '

# 配置java環境
echo '## java configuration ' >> /etc/profile
echo 'JAVA_HOME=/opt/jdk1.7.0_75' >> /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> /etc/profile
echo 'export JAVA_HOME' >> /etc/profile

echo 'finish java envirement setting etc/profile'
# 使配置生效
. /etc/profile
which java

## 搭建zookeeper集羣 
echo 'start setup zookeeper ……………………'
tar -zxf zookeeper-3.4.6.tar.gz -C /opt/ 
echo '# zookeeper configuration ' >> /etc/profile
echo 'export ZOOKEEPER_HOME=/opt/zookeeper-3.4.6' >> /etc/profile
echo 'export PATH=$ZOOKEEPER_HOME/bin:$PATH' >> /etc/profile
echo 'export CLASSPATH=$ZOOKEEPER_HOME/lib' >> /etc/profile

mkdir -p /home/work/jstorm/zookeeper_data 
#cd /opt/zookeeper-3.4.6/conf/
cp -f /opt/zookeeper-3.4.6/conf/zoo_sample.cfg /opt/zookeeper-3.4.6/conf/zoo_sample.cfg.bak
mv /opt/zookeeper-3.4.6/conf/zoo_sample.cfg /opt/zookeeper-3.4.6/conf/zoo.cfg
# 修改zookeeper數據文件的位置
sed -i.bak 's/dataDir=/tmp/zookeeper/dataDir=/home/work/jstorm/zookeeper_data//g' /opt/zookeeper-3.4.6/conf/zoo.cfg
# 集羣配置的時候需要加入三臺機器的配置 ,這個就是你在搭建你自己的三臺機器的ip
echo '# zookeeper cluster mathines' >> /opt/zookeeper-3.4.6/conf/zoo.cfg
echo 'server.1=192.168.9.92:2888:3888' >> /opt/zookeeper-3.4.6/conf/zoo.cfg 
echo 'server.2=192.168.9.93:2888:3888' >> /opt/zookeeper-3.4.6/conf/zoo.cfg 
echo 'server.3=192.168.9.94:2888:3888' >> /opt/zookeeper-3.4.6/conf/zoo.cfg 

# dataDir目錄下添加標識身份 myid(這個需要手動做)
# vim $dataDir/myid 將機器的標識填入,比如第一天機器即爲1,二臺爲2

# 使配置生效
. /etc/profile
echo 'finish setup zookeeper && start setup zeromq……'

# 安裝zeromq 
# 解決錯誤 cannot link with -luuid, install uuid-dev
yum install uuid-devel && yum install libuuid-devel

tar -zxf zeromq-2.1.7.tar.gz 
cd zeromq-2.1.7
./configure && make && sudo make install && sudo ldconfig 
cd .. 

echo 'finish setup zeromq && start setup jzmq ……'

# 安裝jzmq 
tar -zxf jzmq.tar && cd jzmq  && ./autogen.sh && ./configure && make && sudo make install
cd ..

# 安裝 jstrom 
echo 'finish setup jzmq && start setup jstorm ……'
mkdir /home/work/jstorm/jstorm_data 
unzip jstorm-0.9.6.2.zip -d /opt/

echo 'export JSTORM_HOME=/opt/jstorm-0.9.6.2' >> ~/.bashrc 
echo 'export PATH=$PATH:$JSTORM_HOME/bin' >> ~/.bashrc

echo 'after configure bashrc for jstorm'
source ~/.bashrc

# 配置$JSTORM_HOME/conf/storm.yaml
echo 'start configuration storm.yaml ……'
sed -i '/localhost"$/'d /opt/jstorm-0.9.6.2/conf/storm.yaml
sed -i /'storm.zookeeper.servers:/a     - "192.168.9.94"' /opt/jstorm-0.9.6.2/conf/storm.yaml
sed -i /'storm.zookeeper.servers:/a     - "192.168.9.93"' /opt/jstorm-0.9.6.2/conf/storm.yaml
sed -i /'storm.zookeeper.servers:/a     - "192.168.9.92"' /opt/jstorm-0.9.6.2/conf/storm.yaml
sed -i 's/%JSTORM_HOME%/data//home/work/jstorm/jstorm_data/g' /opt/jstorm-0.9.6.2/conf/storm.yaml
sed -i /'storm.zookeeper.root/a nimbus.host: "192.168.9.92"' /opt/jstorm-0.9.6.2/conf/storm.yaml

# 下面這兩句只需要在安裝 jstorm_ui 和提交jar節點的機器上面執行就可以了
#mkdir ~/.jstorm
#cp -f $JSTORM_HOME/conf/storm.yaml ~/.jstorm

echo 'congratilations ! you have successfully install jstorm on your machine ! Enjoy it !'

 

Jstorm_web_ui 監控搭建 :

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash

# author: xirong 
# date  :  2015-05-11 

#########
# 安裝 jstorm 監控 UI 頁面 (只需要在一臺機器上面安裝即可)
# 此腳本執行前需要先執行腳本 1.jstorm_cluster_install.sh
#########

echo 'start install apache-tomcat-7.0.61 '
mkdir ~/.jstorm
cp -f $JSTORM_HOME/conf/storm.yaml ~/.jstorm

tar -zxf apache-tomcat-7.0.61.tar.gz  -C /opt/
cd /opt/apache-tomcat-7.0.61/webapps
cp $JSTORM_HOME/jstorm-ui-0.9.6.2.war  ./
mv ROOT ROOT.old
ln -s jstorm-ui-0.9.6.2 ROOT 
cd ../bin
./startup.sh

echo 'congratulaions ! you have install jstorm_ui! enjoy it !'

# 如果本機端口8080沒有開放,那麼需要開放端口號8080以供外面可以訪問
#/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
#/etc/rc.d/init.d/iptables save
#/etc/init.d/iptables restart

 

jstorm 集羣啓動 測試

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash

# author: xirong 
# date  :  2015-05-11 

#####
# 啓動 jstorm腳本 
# 1. 先啓動必須組件 zookeeper,啓動前必須確定每臺機器自己的myid文件
####

# 先啓動必須組件 zookeeper,啓動前必須確定每臺機器自己的myid文件,不明白,查看安裝地方 
cd /opt/zookeeper-3.4.6
sh bin/zkServer.sh start 

echo 'zookeeper has started ! please see status :'

# leader or follower 
sh bin/zkServer.sh status

# 詳細命令 http://www.wangyuxiong.com/archives/51725

# 啓動 jstorm 服務 自動腳本 $JSTORM_HOME/logs/supervisor.log檢查有無錯誤
sh /opt/jstorm-0.9.6.2/bin/start.sh

# 只需要在nimbus機器上面執行,如果已經ok的話,就不需要了
# nohup jstorm nimbus &
# $JSTORM_HOME/logs/nimbus.log檢查有無錯誤


# 停止 
#sh /opt/jstorm-0.9.6.2/bin/stop.sh

 

監控頁面如下(當然這只是官方例子,證明安裝部署的ok):
Jstorm 集羣首頁

topology 分析頁面

jstorm 常用命令

  1. 啓動 nimbus“nohup jstorm nimbus & “ 查看$JSTORM_HOME/logs/nimbus.log 檢查錯誤日誌
  2. 啓動 supervisor “nohup jstorm supervisor &” 查看$JSTORM_HOME/logs/supervisor.log 檢查有無錯誤
  3. 停止 “sh $JSTORM_HOME/bin/stop.sh”

zookeeper 常用命令

  1. 啓動ZK服務: sh bin/zkServer.sh start
  2. 查看ZK服務狀態: sh bin/zkServer.sh status
  3. 停止ZK服務: sh bin/zkServer.sh stop
  4. 重啓ZK服務: sh bin/zkServer.sh restart
    或者連接到服務器 bin/zkCli.sh -server 127.0.0.1:2181 輸入help 查看操作幫助

其它詳細參考:http://www.wangyuxiong.com/archives/51725

jstorm.zip 包和腳本下載

zip文件夾裏面有完整的上述三個驕傲本,使用的時候直接下載zip文件夾即可,下載地址 :百度網盤,密碼:btcq

發佈了26 篇原創文章 · 獲贊 5 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章