首页 > 代码库 > Strom开发配置手册

Strom开发配置手册

一:Storm集群搭建

1.本次开发使用的是storm0.9.3

2.Storm0.9.3集群搭建:

1)storm集群角色包含集群主节点Nimbus;集群从节点Supervisor

2)集群安装:先安装zookeeper集群;上传storm安装包到服务器;修改配置文件;启动集群

3)集群安装前,需要修改主机名称配置IPvi/etc/hosts

 技术分享

 

关闭服务器之间的防火墙:

执行如下命令:

service iptables save

service iptables stop

chkconfig iptables off

service ip6tables save

service ip6tables stop

chkconfig ip6tables off

 

 

4)Zookeeper安装过程:

1.上传zk安装包

 

2.解压

 

3.配置(先在一台节点上配置)

3.1添加一个zoo.cfg配置文件

$ZOOKEEPER/conf

mv zoo_sample.cfg zoo.cfg

 

3.2修改配置文件(zoo.cfg

 技术分享

 

dataDir=/bigdata/zookeeper-3.4.5/data

 

server.1=bigdata227:2888:3888

server.2=bigdata228:2888:3888

server.3=bigdata229:2888:3888

 

3.3在(dataDir=/bigdata/zookeeper-3.4.5/data)创建一个myid文件,里面内容是server.N中的Nserver.2里面内容为2

server那个点之后的数字是几,就在myid文件中写入几(比如server.1=bigdata227:2888:3888),那么在bigdata227,这台服务器中的zk文件目录下的data文件夹下创建的myid文件内容就是1

 

3.4将配置好的zk拷贝到其他节点

scp -r /bigdata/zookeeper-3.4.5/ bigdata228:/bigdata/

scp -r /bigdata/zookeeper-3.4.5/ bigdata229:/bigdata/

 

3.5注意:在其他节点上一定要修改myid的内容

bigdata228应该讲myid的内容改为2 :在bigdata228,这台服务器中的zk文件目录下的data文件夹下创建的myid文件内容就是2

bigdata229应该讲myid的内容改为3 :在bigdata229,这台服务器中的zk文件目录下的data文件夹下创建的myid文件内容就是3

 

4.启动集群

分别启动zk

./zkServer.sh start

使用./zkServer.sh status 可以查看启动zk的启动状态

 

 

5)上传storm0.9.3 解压

6)Cd/bigdata/apache-storm-0.9.3/conf,修改storm.yaml配置文件

 技术分享

 

增加storm.zookeeper.server:

Nimbus.host

然后保存退出,把storm文件传至bigdata228bigdata229两台主机

7)启动集群:

先启动nimbus

Cdnimbusbigdata227)  stormbin目录执行:

./storm nimbus 1>/dev/null 2>&1 &

还可以启动一个web服务进程

./storm ui 1>/dev/null 2>&1 &

 技术分享

 

 

然后切换到bigdata228bigdata229

启动各节点中的supervisor

Cd stormbin 目录 执行:

./storm supervisor 1>/dev/null 2>&1 &

  技术分享

 

到此storm集群搭建完成!!

 

二:stormDemo项目说明

数据库

实时表:

 技术分享

 

Day表:

 技术分享

 

demo程序是简单的一个day天的归集统计,归集电压的一天总和,后续存储过程开发可以再次基础上进行

 

 技术分享技术分享 

项目主要的数据源是从数据库中读取:

Storm包中是对从数据库中读取的数据进行业务逻辑处理

类的说明:

RandomSpout是获取数据源并传递给DayBolt,以后存储过程可以设计MonthBoltYearBolt等等

TopoMain类是组合类,也是主类,spoutbolt的设置都在这里面

注意:

       //单机开发模式

LocalCluster cluster = new LocalCluster();

 

cluster.submitTopology("demotopo", conf, topo);

 

//集群模式:提交topostorm的集群中

//StormSubmitter.submitTopology("demotopo", conf, topo);

 

如果是单机开发模式,则可以像运行Java application一样在本机运行

如果想部署到集群,首先把项目打成jar包,传到nimbus所在的服务器,然后切换到stormbin目录,执行:./storm jar  /bigdata/xxx.jar  cn.zhangshitong.TopoMain  前面是jar包的位置,后面是jar包中的主类

Nimbus就会把任务分发给supervisor

Strom开发配置手册