您的位置:首页 > Web前端 > JavaScript

Jstorm 集群搭建过程/Jstorm集群一键安装部署

2016-01-11 17:50 1026 查看
原文地址: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.92
192.168.9.93
192.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 js
deff
torm'
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
2829
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 常用命令

启动 nimbus“nohup jstorm nimbus & “ 查看$JSTORM_HOME/logs/nimbus.log 检查错误日志
启动 supervisor “nohup jstorm supervisor &” 查看$JSTORM_HOME/logs/supervisor.log 检查有无错误
停止 “sh $JSTORM_HOME/bin/stop.sh”


zookeeper 常用命令

启动ZK服务: sh bin/zkServer.sh start
查看ZK服务状态: sh bin/zkServer.sh status
停止ZK服务: sh bin/zkServer.sh stop
重启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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: