一:Storm集群搭建

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

2.Storm0.9.3集群搭建:

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

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

3)集群安装前,需要修改主机名称配置IP:vi/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中的N(server.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文件传至bigdata228、bigdata229两台主机

7)启动集群:

先启动nimbus:

Cd到 nimbus(bigdata227)  storm的bin目录执行:

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

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

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

然后切换到bigdata228、bigdata229

启动各节点中的supervisor:

Cd 到storm的bin 目录 执行:

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

到此storm集群搭建完成!!

二:stormDemo项目说明

数据库

实时表:

Day表:

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

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

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

类的说明:

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

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

注意:

//单机开发模式

LocalCluster cluster = new LocalCluster();

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

//集群模式:提交topo到storm的集群中

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

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

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

Nimbus就会把任务分发给supervisor了

Strom开发配置手册的更多相关文章

  1. Mac 开发配置手册

    转自:http://www.cocoachina.com/mac/20141112/10198.html 手册内容为「如何让一部全新的 MacBook 快速完成开发环境配置」,主要面向 Web 开发者 ...

  2. Mac开发配置手册

    系统设置 在任何的操作系统中,首先你需要做一件事就是更新系统,点击窗口左上角的  > 关于本机 > 软件更新.此外,如果这是一部新的电脑,你还需要到系统设置进行一些适当调整.如何调整,取 ...

  3. EF for MySql 开发配置手册

    执行MySQL安装程序,安装MySQL For Visual Studio和Connector/NET 执行命令: Install-Package EntityFramework Install-Pa ...

  4. JavaWEB开发时FCKeditor类似office界面的ajax框架,加入后就能做界面类似office,能进行简单的文本编辑操作+配置手册...

    2019独角兽企业重金招聘Python工程师标准>>> FCKeditor是一款功能强大的开源在线文本编辑器(DHTML editor),它使你在web上可以使用类似微软Word 的 ...

  5. 嵌入式linux应用开发完全手册学习笔记一

    2015.3.25星期三 晴 有两个星期没写学习日记了,找个时间把这段时间做的电子词典和ARM小项目总结一下. 下面的知识点总结,U-BOOT:参考PDF文档:嵌入式linux应用开发完全手册 当虚拟 ...

  6. nginx1.9.4 +php 5.5.29+yii2.0配置手册

    nginx1.9.4 +php 5.5.29+yii2.0配置手册 目录 一.    php5.5.29安装配置    2 二.    nginx1.9.4安装配置    2 三.    yii2.0 ...

  7. API接口开发 配置、实现、测试

    Yii2 基于RESTful架构的 advanced版API接口开发 配置.实现.测试 环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到 ...

  8. linux服务器基本安全配置手册

    转:忘了在哪转的,直接复制到笔记里了,贴出来分享 假如你想要搭建一个Linux服务器,并且希望可以长期维护的话,就需要考虑安全性能与速度等众多因素.一份正确的linux基本安全配置手册就显得格外重要. ...

  9. Webpack 5 配置手册(从0开始)

    针对新手入门搭建项目,Webpack5 配置手册(从0开始) webpack安装顺序 1. `npm init -y`,初始化包管理文件 package.json 2. 新建src源代码目录 3. 新 ...

随机推荐

  1. 20172325 2018-2019-1 《Java程序设计》第二周学习总结

    20172325 2018-2019-1 <Java程序设计>第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集.组织了其他对象的对象.集合可以分为两大类:线性集合和非线性集合. ...

  2. C++动态链接库

    1.动态链接库概述: 动态链接库通常都不能直接运行,也不能接受消息:只有在其他模块调用动态链接库中的函数时,它才发挥作用. Windows API中所有的函数都包含在动态链接库中. 动态链接库分静态库 ...

  3. MySQL学习笔记-MySQL数据库优化实践[转]

    最近一段时间,我们整理了一些关于Percona,Linux,Flashcache,硬件设备的优化经验,分享给大家: 硬件 1.开启BBWC RAID卡都有写cache(Battery Backed W ...

  4. mysqli_query数据库有数据,查不出来

    MySQLDB.class.php <?php /** * 数据库操作工具类 */ class MySQLDB { // 定义相关属性 private $host;// 主机地址 private ...

  5. [AI]神经网络章3 损失函数

    损失函数 作用 在有监督的学习中,需要衡量神经网络输出和所预期的输出之间的差异大小.这种误差函数需要能够反映出当前网络输出和实际结果之间一种量化之后的不一致程度,也就是说函数值越大,反映出模型预测的结 ...

  6. npm run build出问题十分通用的解决方法

    1.C:\NanoFabric\52ABP\SPAHost\ClientApp\node_modules 原来的目录重命名为C:\NanoFabric\52ABP\SPAHost\ClientApp\ ...

  7. 2017/2/10springMVC中文乱码问题

    springMVC中文乱码问题 一:从jsp传到后台控制出现的乱码有以下两个方面: 1.当提交方式为get的时候(因为字符拦截器无法拦截get): 修改方法为: 再改工程里的tomcat的配置文件se ...

  8. DevOps:从理念到实施

    转载自:http://os.51cto.com/art/201404/436794.htm DevOps这个新理念的出现,是为了应对IT环境中普遍面临的一些挑战.开发团队要求的不断满足新的客户需求,并 ...

  9. Keras下的文本情感分析简介。与MLP,RNN,LSTM模型下的文本情感测试

    # coding: utf-8 # In[1]: import urllib.request import os import tarfile # In[2]: url="http://ai ...

  10. Python图表绘制:matplotlib绘图库入门(转)

    matplotlib 是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并 ...