一、Storm概述
网址:http://storm.apache.org/
Apache Storm是一个免费的开源分布式实时计算系统。Storm可以轻松可靠地处理无限数据流,实现Hadoop对批处理所做的实时处理。Storm非常简单,可以与任何编程语言一起使用,并且使用起来很有趣!
Storm有许多用例:实时分析,在线机器学习,连续计算,分布式RPC,ETL等。风暴很快:一个基准测试表示每个节点每秒处理超过一百万个元组。它具有可扩展性,容错性,可确保您的数据得到处理,并且易
于设置和操作。
Storm集成了您已经使用的排队和数据库技术。Storm拓扑消耗数据流并以任意复杂的方式处理这些流,然后在计算的每个阶段之间重新划分流。 离线计算是什么?
批量获取数据、批量的传输数据、批量的存储数据、周期性计算数据、数据可视化
flume批量获取数据、sqoop批量传输、hdfs/hive/hbase批量存储、mr/hive计算数据、BI 实时计算是什么?
数据实时产生、数据实时传输、数据实时计算、实时展示
flume实时获取数据、kafka实时数据存储、Storm/JStorm实时计算、实时展示(dataV/quickBI) 二、Storm与Hadoop
hadoop storm
角色: JobTracker Nimbus
TaskTracker Supervisor
Child Worker
应用名称: Job Topology
编程接口: Mapper/Reducer Spout/Bolt 三、storm编程模型
tuple:元组
是消息传输的基本单元。 Spout:水龙头
storm的核心抽象。拓扑的流的来源。Spout通常从外部数据源读取数据。转换为拓扑内部的源数据。
主要方法:nextTuple() -》 发出一个新的元祖到拓扑。
ack()
fail() Bolt:转接头
Bolt是对流的处理节点。Bolt作用:过滤、业务、连接运算。 Topology:拓扑
是一个实时的应用程序。
永远运行除非被杀死。
Spout到Bolt是一个连接流... wordcount
spark->wordcount
storm流式计算
hadoop与storm兼容性
spark-core
spark-sql离线计算
spark-streaming流式计算
一个团队开发
没有兼容性问题
spark团队:我要做一栈式开发平台!
但凡涉及到大数据计算 我都能搞定!
spark替代了mapreduce
spark没有底层存储
依赖hdfs
hdfs/mr............
完善整个生态圈系统!
mapreduce思想、编程 、sqoop->mr hive->mr hbasemr
dfs/mapreduce/bigtable
java/scala... 四、Storm集群安装部署
1)准备工作
zk01 zk02 zk03
storm01 storm02 storm03 2)下载安装包
http://storm.apache.org/downloads.html 3)上传apache-storm-1.1.0.tar.gz到/root下 4)解压
cd /root
tar -zxvf apache-storm-1.1.0.tar.gz -C /root/hd/ 5)修改配置文件
cd /root/hd
mv apache-storm-1.1.0/ storm
cd storm/conf/
$ vi storm.yaml
# 设置Zookeeper的主机名称
storm.zookeeper.servers:
- "hd09-1"
- "hd09-2"
- "hd09-3" # 设置主节点的主机名称
nimbus.seeds: ["hd09-1"]
# 设置Storm的数据存储路径
storm.local.dir: "/root/hd/storm/data"
# 设置Worker的端口号
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703 6)创建文件夹/root/hd/storm/data
mkdir /root/hd/storm/data 7)配置环境变量
vi /etc/profile
在最下面加入
export STORM_HOME=/root/hd/storm
export PATH=$PATH:$STORM_HOME/bin 生效环境变量
source /etc/profile 8)分发安装包到其他机器
cd /root/hd/
scp -r storm/ hd09-2:$PWD
scp -r storm/ hd09-3:$PWD 9)启动Zookeeper
zkServer.sh start(三台机器都执行) 10)启动nimbus
storm nimbus & (三台机器都执行) 11) 启动supervisor
storm supervisor & (三台机器都执行) 12)启动ui界面
storm ui
浏览器输入http://192.168.146.132:8080可以访问 五、Storm命令行操作
1)查看命令帮助
storm help 2)查看版本
storm version 3)运行storm程序
storm jar [/路径/.jar][全类名][拓扑名称] 4)查看当前正在运行拓扑及其状态
storm list 5)终止拓扑程序
storm kill [拓扑名称] 6)激活拓扑程序
storm activate [拓扑名称] 7)禁止拓扑程序
storm deactivate [拓扑名称] 六、分组策略
1)Fields Grouping
按照字段分组。相同字段发送到一个task中。 2)shuffle Grouping
随机分组。轮询。平均分配。随机分发tuple,保证每个bolt中的tuple数量相同。 3)Non Grouping
不分组
采用这种策略每个bolt中接收的单词不同。 4)All Grouping
广播发送 5)Global Grouping
全局分组
分配给task id值最小的
根据线程id判断,只分配给线程id最小的

Storm简介及使用的更多相关文章

  1. 分布式流式处理框架:storm简介 + Storm术语解释

    简介: Storm是一个免费开源.分布式.高容错的实时计算系统.它与其他大数据解决方案的不同之处在于它的处理方式.Hadoop 在本质上是一个批处理系统,数据被引入 Hadoop 文件系统 (HDFS ...

  2. Apache Storm简介

    Apache Storm简介 Storm是一个分布式的,可靠的,容错的数据流处理系统.Storm集群的输入流由一个被称作spout的组件管理,spout把数据传递给bolt, bolt要么把数据保存到 ...

  3. 流式大数据计算实践(6)----Storm简介&使用&安装

    一.前言 1.这一文开始进入Storm流式计算框架的学习 二.Storm简介 1.Storm与Hadoop的区别就是,Hadoop是一个离线执行的作业,执行完毕就结束了,而Storm是可以源源不断的接 ...

  4. Storm概念学习系列之storm简介

    不多说,直接上干货! storm简介 Storm 是 Twitter 开源的.分布式的.容错的实时计算系统,遵循 Eclipse Public License1.0. Storm 通过简单的 API ...

  5. Storm简介

    Storm特性 1. 低延迟和高性能 在一个小集群中,每个节点每秒可以处理数以百万计的消息. 2. 可扩展 在Storm集群中主要有三个实体:工作进程.线程和任务.Storm集群中每台机器上都可以运行 ...

  6. 53.storm简介

    一.简介 1.storm是twitter开源的一个分布式的实时计算系统,用于数据实时分析,持续计算,分布式RPC等等. 官网地址:http://storm-project.net 源码地址:https ...

  7. 流式计算之Storm简介

    Storm是一个分布式的.容错的实时计算系统,遵循Eclipse Public License 1.0,Storm可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm之于实时处理,就好比H ...

  8. storm简介[ZZ]

    场景 伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样.更加便捷,同时对于信息的时效性要求也越来越高.举个搜索 场景中的例子,当一个卖家发布了一条宝贝信息时,他希望的 ...

  9. Storm简介——初始Storm

    一.什么是Storm Strom是由Twitter开源的类似于Hadoop的实时数据处理框架.Strom是分布式流式数据处理系统,强大的分布式集群管理.便捷的针对流式数据的编程模型.高容错保障这些都是 ...

随机推荐

  1. Python异常处理try...except...finally raise assert

    异常处理:try ...except  try代码块放置容易发生异常的语句:except代码块放置处理异常的语句try ...except...finally finally代码快是任何时候都会执行的 ...

  2. eclipse中tomcat配置JNDI链接Oracle数据源例子

    最近换到新公司,第一次接触JNDI方式连接数据库. 一开始怎么找也没找到数据库地址在哪里配置的,后面跟代码发现spring中初始化dataSource是通过这个类JndiObjectFactoryBe ...

  3. AJAX的中文乱码问题

    /***********本人原创,欢迎转载,转载请保留本人信息*************/作者:wallimn电邮:wallimn@sohu.com博客:http://blog.csdn.net/wa ...

  4. php ut8声明

    header("Content-type: text/html; charset=utf-8");

  5. 《随机出题软件》&《随机分队软件》源码(Windows API)

    1 引言 1.1 编写目的: 为了对院级活动<最强大脑>提供软件支持,同时为了练习使用windows API. 1.2 项目背景: 来自计算机学院学生会信息部指派的任务,规定时间完成软件的 ...

  6. 关于js中遍历总结

    1.for循环 var arr = []; for (var i = 0; i < arr.length; i++) { if (条件1) return; if (条件2) break; if ...

  7. 怎么用ChemDraw连接两个结构片段

    作为最新版的ChemOffice 15.1的核心组件,ChemDraw几乎能解决所有平面化学结构中的绘制问题.如果用户想连接两个分开的结构片段,ChemDraw提供两种连接两个化学结构片段的方法,分别 ...

  8. 如何在ChemDraw中打出符号π

    很多人日常使用ChemDraw是一款非常优秀的化学绘图软件,在其绘制化学结构式或者反应式的过程中,常常需要添加各种符号.比如有的用户会需要输入希腊字符π,但是不知道用什么方法添加.本教程就来给大家介绍 ...

  9. hdu 1520(简单树形dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1520 思路:dp[u][0]表示不取u的最大价值,dp[u][1]表示取u的最大价值,于是有dp[u] ...

  10. 在Sql2000 sql2005 sql2008 下已能实现事务复制的强制订阅,但请求订阅始终不能实现总有下列错误提示

    硬件环境 : 一台服务器 安装了 sqlserver2008 数据库 局域网还有一台机器 安装了 sqlserver2000数据库 两台server 通信 共享均没有问题 同步过程中遇到的问题  : ...