一: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. (O)JS核心:call、apply和bind

    1. var func=function(a,b,c){ console.log([a,b,c]); }; func.apply(null,[1,2,3]); //[1,2,3] func.call( ...

  2. Luogu 1273 有线电视网 - 树形背包

    Description 树形背包, 遍历到一个节点, 枚举它的每个子节点要选择多少个用户进行转移. Code #include<cstring> #include<cstdio> ...

  3. 关于出现“对不起,您安装的不是正版应用...”的解决方法

    由于Discuz X版本增加了对插件的版本检测,在安装时,可能会出现:"对不起,您安装的不是正版应用,安装程序无法继续执行"的提示,如下图: 唱唱反调小编在此给大家分享解决方法: ...

  4. MySQL5.7的安装(CentOS 7 & Ubuntu 16.04)

    CentOS 通过 yum 安装MySQL5.7 Yum Repository 下载地址:https://dev.mysql.com/downloads/repo/yum/ 选择相应的版本进行下载:R ...

  5. Spring ApplicationContext(八)事件监听机制

    Spring ApplicationContext(八)事件监听机制 本节则重点关注的是 Spring 的事件监听机制,主要是第 8 步:多播器注册:第 10 步:事件注册. public void ...

  6. sqli-labs:24,二次注入

    二次排序注入 二次排序注入也称为存储型注入,就是将可能导致 sql 注入的字符先存入到数据库中,当再次调用这个恶意构造的字符时,就可以出发 sql 注入. 二次排序注入思路: 1. 黑客通过构造数据的 ...

  7. 通过代理上网时,qq等应用程序连网出错

    虽然现在基本上都用无线,有线宽带等,但是有时候还是避免不了通过代理上网时,于是就发生浏览器可以正常浏览网页,qq等应用程序连接出错等问题,上网搜了好长时间,    都没解决问题,后来慢慢琢磨(其实是乱 ...

  8. 20180613更新 leetcode刷题

    最近就是忙工作项目 工作间隙就刷了刷LEETCODE 所以没啥更新 // 1111111.cpp: 定义控制台应用程序的入口点. // #include "stdafx.h" #i ...

  9. linux系统,在centos7环境下安装jdk步骤

    记录一下安装jdk1.8版本的出错过程: 按照这个博客内容安装的,以及修改文件权限博客 [Linux]CentOS7下安装JDK详细过程 [Linux]目录文件权限的查看和修改[转] 1.安装的jdk ...

  10. 使用thymeleaf一旦没有闭合标签就会报错怎么解决

    问题:input标签未关闭报bug,代码稍有不慎就出小问题 使用springboot的thymeleaf模板时默认会对HTML进行严格的检查,导致当你的标签没有闭合时就会通不过,例如: //要想通过, ...