`
7wolfs
  • 浏览: 177998 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Storm集群部署

 
阅读更多

JStorm集群部署

ZooKeeper高可用集群的安装及配置
http://wosyingjun.iteye.com/blog/2312960

1、下载并上传zookeeper-3.4.6.tar.gz到各个服务器的/usr/local/目录
$ cd /usr/local/
$ wget http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

2、在各个服务器上解压zookeeper安装包,并按节点号对zookeeper目录重命名(可以不对目录重命名)
$ tar -zxvf zookeeper-3.4.6.tar.gz
服务器 1:
$ mv zookeeper-3.4.6 zookeeper-3.4.6_(1)
服务器 2:
$ mv zookeeper-3.4.6 zookeeper-3.4.6_(2)
服务器 3:
$ mv zookeeper-3.4.6 zookeeper-3.4.6_(3)

3、在各zookeeper节点目录下创建以下目录:
$ cd /usr/local/zookeeper-3.4.6_(x)(x代表节点号)
$ mkdir data
$ mkdir logs

4、将 zookeeper/zookeeper-3.4.6_(x)/conf目录下的zoo_sample.cfg文件拷贝一份,命名为zoo.cfg:
$ cp zoo_sample.cfg zoo.cfg

5、修改 zoo.cfg 配置文件

#zookeeper-3.4.6_(1)的配置(/usr/local/zookeeper-3.4.6_(1)/conf/zoo.cfg)如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-3.4.6_(1)/data
dataLogDir=/usr/local/zookeeper-3.4.6_(1)/logs
clientPort=2181
server.1=192.168.11.97:2881:3881
server.2=192.168.11.98:2882:3882
server.3=192.168.11.99:2883:3883

#zookeeper-3.4.6_(2)的配置(/usr/local/zookeeper-3.4.6_(2)/conf/zoo.cfg)如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-3.4.6_(2)/data
dataLogDir=/usr/local/zookeeper-3.4.6_(2)/logs
clientPort=2182
server.1=192.168.11.97:2881:3881
server.2=192.168.11.98:2882:3882
server.3=192.168.11.99:2883:3883

#zookeeper-3.4.6_(3)的配置(/usr/local/zookeeper-3.4.6_(3)/conf/zoo.cfg)如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-3.4.6_(3)/data
dataLogDir=/usr/local/zookeeper-3.4.6_(3)/logs
clientPort=2183
server.1=192.168.11.97:2881:3881
server.2=192.168.11.98:2882:3882
server.3=192.168.11.99:2883:3883

6、在dataDir=/usr/local/zookeeper-3.4.6_(x)/data下创建 myid 文件
$ vi /usr/local/zookeeper-3.4.6(1) /data/myid 设置文件内容的值为1
$ vi /usr/local/zookeeper-3.4.6(2) /data/myid 设置文件内容的值为2
$ vi /usr/local/zookeeper-3.4.6_(3) /data/myid 设置文件内容的值为3

7、在防火墙中打开要用到的端口218X、288X、388X(X代表个节点,如节点1上,需要打开的端口就是2181、2881、3881)
$ vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 218X -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 288X -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 388X -j ACCEPT
$ service iptables restart
或者关闭防火墙
#关闭防火墙
/etc/init.d/iptables stop
service iptables stop # 停止服务
#查看防火墙信息
/etc/init.d/iptables status

8、启动并查看zookeeper:
$ /usr/local/zookeeper-3.4.6(x)/bin/zkServer.sh start
$ /usr/local/zookeeper-3.4.6(x)/bin/zkServer.sh status

9、连接zookeeper的客户端配置修改:
zookeeper://192.168.11.97:2181?backup=192.168.11.98:2182,192.168.11.99:2183


JStorm2.1.1集群的安装和使用
http://wosyingjun.iteye.com/blog/2317034
http://wosyingjun.iteye.com/blog/2316763

首先在CentOS里创建admin用户

1、Zookeeper集群的安装
见上面的:ZooKeeper高可用集群的安装及配置

2、JStorm的安装(安装前需先安装JDK1.8和Python2.6以上)
下载JStorm
wget https://github.com/alibaba/jstorm/wiki/Downloads

在服务器A和服务器B上:(在admin用户主目录的.bash_profile和.bashrc里也要加入如下内容)
unzip jstorm-2.1.1
vim /etc/profile
#profile中添加如下内容:
export JSTORM_HOME=/XXXXX/XXXX
export PATH=$PATH:$JSTORM_HOME/bin

在服务器A上配置:
 vim /home/jstorm/jstorm-2.1.1/conf/storm.yaml
storm.zookeeper.servers:
     - "192.168.xx.100"
     - "192.168.xx.101"
     - "192.168.xx.102"
 nimbus.host: "192.168.xx.100"
 storm.zookeeper.root: "/jstorm"
 storm.local.dir: "%JSTORM_HOME%/data"
 supervisor.slots.ports:
    - 6800
    - 6801
    - 6802
    - 6803

nimbus.childopts: "-Xmx1024m"

storm.zookeeper.servers:
需用主机名, 举例如下:
storm.zookeeper.servers:
     - "storm-1"
     - "storm-2"
     - "storm-3"
分别对应三个主机,每个主机的/etc/hosts都要加上
192.168.xx.100 storm-1
192.168.xx.101 storm-2
192.168.xx.102 storm-3

nimbus.host:这个配置项只能用ip地址,不能用主机名

在服务器B上配置:
 vim /home/jstorm/jstorm-2.1.1/conf/storm.yaml
storm.zookeeper.servers:
     - "192.168.xx.100"
     - "192.168.xx.101"
     - "192.168.xx.102"
 nimbus.host: "192.168.xx.100"
 storm.zookeeper.root: "/jstorm"
 storm.local.dir: "%JSTORM_HOME%/data"
 supervisor.slots.ports:
    - 6800
    - 6801
    - 6802
    - 6803

nimbus.childopts: "-Xmx1024m"

storm.zookeeper.servers:
需用主机名, 举例如下:
storm.zookeeper.servers:
     - "storm-1"
     - "storm-2"
     - "storm-3"
分别对应三个主机,每个主机的/etc/hosts都要加上
192.168.xx.100 storm-1
192.168.xx.101 storm-2
192.168.xx.102 storm-3

nimbus.host:这个配置项只能用ip地址,不能用主机名


3、在各个服务器提交jar的节点上执行:
JStorm安装目录下的storm.yaml文件应与用户admin主目录里 .jstorm 子目录里的storm.yaml内容保持一致。
mkdir ~/.jstorm
cp -f $JSTORM_HOME/conf/storm.yaml ~/.jstorm


4、启动JStorm
在服务器A上启动:
nohup jstorm nimbus &
nohup jstorm supervisor &
#查看启动情况
jps
在服务器B上启动:
nohup jstorm supervisor &
#查看启动情况
Jps

在服务器A上部署TOPOLOGY
jstorm jar Leek-1.0-SNAPSHOT.jar com.yingjun.stock.topology.StockStategyTopology conf.yaml

如果 conf.yaml所在目录有 其他的yaml文件,会导致TOPO启动失败。
注:TOPOLOGY的写法可参考项目:Leek——简易版实时智能选股平台


5、安装JStorm Web UI
使用jstorm-ui-2.1.1的war包
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 ./
../bin./startup.sh
访问地址:http://192.168.xx.xxx:8080/jstorm-ui-2.1.1/


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics