Strom开发配置手册
一: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开发配置手册的更多相关文章
- Mac 开发配置手册
转自:http://www.cocoachina.com/mac/20141112/10198.html 手册内容为「如何让一部全新的 MacBook 快速完成开发环境配置」,主要面向 Web 开发者 ...
- Mac开发配置手册
系统设置 在任何的操作系统中,首先你需要做一件事就是更新系统,点击窗口左上角的 > 关于本机 > 软件更新.此外,如果这是一部新的电脑,你还需要到系统设置进行一些适当调整.如何调整,取 ...
- EF for MySql 开发配置手册
执行MySQL安装程序,安装MySQL For Visual Studio和Connector/NET 执行命令: Install-Package EntityFramework Install-Pa ...
- JavaWEB开发时FCKeditor类似office界面的ajax框架,加入后就能做界面类似office,能进行简单的文本编辑操作+配置手册...
2019独角兽企业重金招聘Python工程师标准>>> FCKeditor是一款功能强大的开源在线文本编辑器(DHTML editor),它使你在web上可以使用类似微软Word 的 ...
- 嵌入式linux应用开发完全手册学习笔记一
2015.3.25星期三 晴 有两个星期没写学习日记了,找个时间把这段时间做的电子词典和ARM小项目总结一下. 下面的知识点总结,U-BOOT:参考PDF文档:嵌入式linux应用开发完全手册 当虚拟 ...
- 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 ...
- API接口开发 配置、实现、测试
Yii2 基于RESTful架构的 advanced版API接口开发 配置.实现.测试 环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到 ...
- linux服务器基本安全配置手册
转:忘了在哪转的,直接复制到笔记里了,贴出来分享 假如你想要搭建一个Linux服务器,并且希望可以长期维护的话,就需要考虑安全性能与速度等众多因素.一份正确的linux基本安全配置手册就显得格外重要. ...
- Webpack 5 配置手册(从0开始)
针对新手入门搭建项目,Webpack5 配置手册(从0开始) webpack安装顺序 1. `npm init -y`,初始化包管理文件 package.json 2. 新建src源代码目录 3. 新 ...
随机推荐
- SSH原理与运用(一):远程登录(转)
作者: 阮一峰 日期: 2011年12月21日 SSH是每一台Linux电脑的标准配置. 随着Linux设备从电脑逐渐扩展到手机.外设和家用电器,SSH的使用范围也越来越广.不仅程序员离不开它,很 ...
- Linux内核哈希表分析与应用
目录(?)[+] Linux内核哈希表分析与应用 Author:tiger-johnTime:2012-12-20mail:jibo.tiger@gmail.comBlog:http:// ...
- 洛谷3119 [USACO15JAN]草鉴定Grass Cownoisseur
原题链接 显然一个强连通分量里所有草场都可以走到,所以先用\(tarjan\)找强连通并缩点. 对于缩点后的\(DAG\),先复制一张新图出来,然后对于原图中的每条边的终点向新图中该边对应的那条边的起 ...
- [ES]ES集群内容灾
ES是如何实现节点容灾的? 1. ES中的index,首先会进行分片,每一个分片数据一般都会有自己的副本数据,ES分配分片的策略会保证同一个分片数据和自己的副本不会分配到同一个节点上2. 当集群中的某 ...
- js 光标位置处理
/** * 获取选中文字 * 返回selection,toString可拿到结果,selection含有起始光标位置信息等 **/ function getSelectText() { var tex ...
- java进行3DES加解密
import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.Secre ...
- 对 Service中sqlsession对象的优化
在本线程中添加object数据,必须在本线程中才能获取出来..其他线程获取不到. public class Test { public static void main(String[] args) ...
- MyBatis 实现新增
MyBatis实现新增 1.概念学习:(角度不同) 1.1 功能:从应用程序角度出发,软件具有哪些功能 1.2 业务:完成功能时的逻辑,对应Service中一个方法 1.3 事务:从数据库角度出发,完 ...
- 68.iOS设备尺寸及型号代码(iPhoneXR/XS)
所有设备型号官网地址: https://www.theiphonewiki.com/wiki/Models iPhone: 机型 像素 比例 像素密度 屏幕尺寸 机型代码 发布日期 iPhone 2g ...
- [转]urllib模块urlretrieve方法
直接将远程数据下载到本地 info: urllib.urlretrieve(url[, filename[, reporthook[, data]]])参数说明:url:外部或者本地urlfilena ...