storm

Storm基本原理概念及基本使用

允我心安 提交于 2019-12-05 12:04:15
Storm基本原理概念及基本使用 https://www.cnblogs.com/swordfall/p/8821453.html 1. 背景介绍 1.1 离线计算是什么 离线计算:批量获取数据、批量传输数据、周期性批量计算数据、数据展示; 代表技术:Sqoop批量导入数据、HDFS批量存储数据、MapReduce批量计算数据、Hive批量计算数据 1.2 流式计算是什么 流式计算:数据实时产生、数据实时传输、数据实时计算、实时展示 代表技术:Flume实时获取数据、Kafka/metaq实时数据存储、Storm/JStorm实时数据计算、Redis实时结果缓存、持久化存储(mysql) 一句话总结:将源源不断产生的数据实时收集并实时计算,尽可能快的得到计算结果 1.3 Storm是什么 Storm用来实时处理数据,特点:低延迟、高可用、分布式、可扩展、数据不丢失。提供简单容易理解的接口,便于开发。 1.4 Storm与Hadoop的区别 1. Storm用于实时计算,Hadoop用于离线计算; 2. Storm处理的数据保存在内存中,源源不断;Hadoop处理的数据保存在文件系统中,一批一批; 3. Storm的数据通过网络传输进来;Hadoop的数据保存在磁盘中; 4. Storm与Hadoop的编程模型相似; 2. Storm核心组件 组件说明补充: Nimbus

storm集群 + kafka单机性能测试

别等时光非礼了梦想. 提交于 2019-12-05 05:12:29
storm与kafka单机功能整合很顺利,但是到了storm集群环境和数据处理性能时则出现了一些问题,现将测试过程和问题简单记录如下: 性能指标:每分钟处理至少100万的信息(csv格式,100bytes左右),信息解析后持久化到DB中。 架构设计:flume读取文件缓存到kafka队列后消费到storm中 问题: 一、storm集群任务调度时出现如下问题,具体日志见下: 2014-09-24 16:47:38 b.s.m.n.Client [INFO] Reconnect started for Netty-Client-computer7-62/ip:6706... [8] 2014-09-24 16:47:38 b.s.m.n.Client [INFO] connection established to a remote host Netty-Client-computer7-62/ip:6706, [id: 0x0b596170, /ip:34836 => computer7-62/ip:6706] 2014-09-24 16:47:38 b.s.m.n.Client [INFO] Closing Netty Client Netty-Client-computer7-60/ip:6706 2014-09-24 16:47:38 b.s.m.n

解决org.apache.zookeeper.ZooKeeper.(Ljava/lang/String;ILorg/apache/zookeeper/Watcher;Z)V

拥有回忆 提交于 2019-12-05 04:40:04
报错 java.lang.NoSuchMethodError: org .apache .zookeeper .ZooKeeper .<init>(Ljava/lang/String ;ILorg/apache/zookeeper/Watcher;Z)V at org .apache .curator .utils .DefaultZookeeperFactory .newZooKeeper (DefaultZookeeperFactory .java : 29 ) ~[curator-client- 2.10 .0 .jar :?] at org .apache .curator .framework .imps .CuratorFrameworkImpl $2 .newZooKeeper (CuratorFrameworkImpl .java : 150 ) ~[curator-framework- 2.10 .0 .jar :?] at org .apache .curator .HandleHolder $1 .getZooKeeper (HandleHolder .java : 94 ) ~[curator-client- 2.10 .0 .jar :?] at org .apache .curator .HandleHolder .getZooKeeper

storm集群搭建和java应用

て烟熏妆下的殇ゞ 提交于 2019-12-05 04:05:42
1. vim /etc/hosts ssh免密登录 192.168.132.154 c0 192.168.132.156 c1 192.168.132.155 c2 storm集群: 192.168.132.154 c0 192.168.132.156 c1 192.168.132.155 c2 2. 请在官网下载,并解压。文末有文件下载地址 tar -zxvf apache-storm-1.2.3.tar.gz 配置环境变量(c0,c1,c2都要修改) vim /etc/profile # storm export STORM_HOME=/home/xiaozw/soft/java/storm export PATH=$PATH:${JAVA_PATH}:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZK_HOME/bin:$SPARK_HOME/bin:${STORM_HOME}/bin 刷新生效 source /etc/profile 3. 修改storm/conf/storm.yaml配置文件 storm.zookeeper.servers: - "192.168.132.154" - "192.168.132.156" - "192.168.132.155" nimbus.seeds: ["192.168.132.154"] storm

【storm集群】storm 工作目录不停生成hs_err_pidXXX.log

a 夏天 提交于 2019-12-05 00:56:36
昨天搭建好集群,提交了topology,但是始终没有结果。今天debug一天终于解决了,记录下来。 问题描述:## ui显示topology在运行,但是emit, uptime等数据始终为0。 jps没有发现worker进程,看 supervisor.log 和 worker-*.log,发现supervisor一直在启动worker进程, 但是worker马上就死了 工作目录不停产生hs_err_pidXXX.log日志。 解决过程: 开始怀疑代码有问题,在本地模式下调试,确实发现问题,但是解决完问题成功在本地运行后,在集群上还是一样 看到很多hs_err_pidXXX.log,在网上查了下是jvm崩溃了,因为对java了解不深,以为是java版本问题(集群机器上有1.6 1.7 两个版本)。于是将集群的机器都改成 1.6。结果还是有问题 反复看各种storm日志,google, 改代码,重新跑topology, 重启集群,以root身份启动集群....... 结果都失败了 回头找了下介绍hs_err_pidXXX.log,定位了问题(不能确定) 从文件头部信息看来,是 libzmq这个库的问题。运维安装的是最新稳定版的zeromq 和 jzmq。 在两者兼容性问题上纠结了半天,网上查了很多博客资料,依旧搞不出个所以然。 无意中看到storm出 0.9 了

Twitter Storm Stream Grouping编写自定义分组实现

非 Y 不嫁゛ 提交于 2019-12-04 16:50:58
##自定义Grouping测试 Storm是支持自定义分组的,本篇文章就是探究Storm如何编写一个自定义分组器,以及对Storm分组器如何分组数据的理解。 这是我写的一个自定义分组,总是把数据分到第一个Task: public class MyFirstStreamGrouping implements CustomStreamGrouping { private static Logger log = LoggerFactory.getLogger(MyFirstStreamGrouping.class); private List<Integer> tasks; @Override public void prepare(WorkerTopologyContext context, GlobalStreamId stream, List<Integer> targetTasks) { this.tasks = targetTasks; log.info(tasks.toString()); } @Override public List<Integer> chooseTasks(int taskId, List<Object> values) { log.info(values.toString()); return Arrays.asList(tasks.get(0));

storm集群环境部署

旧街凉风 提交于 2019-12-04 13:22:03
一、storm集群环境部署 1、集群环境下storm包部署: (1)必须将项目依赖的本地lib目录下的jar包放入集群子节点apache-storm-2.0.0 安装目录的lib-worker 和extlib目录下,和主节点的extlib目录下。否则报 ClassNotFoundException: org.springframework.context.ApplicationContext (lib-worker目录下原来就有环境依赖的jar包,所以比extlib下的jar包多) 执行的 storm jar 包放在apache-storm-2.0.0/bin 目录下,和两个子节点的lib-worker下。 2、集群环境启动 cd /home/apache-storm-2.0.0/bin 在主备节点: storm nimbus >/dev/null 2>&1 & storm ui >/dev/null & 在子节点和备节点: storm supervisor >/dev/null 2>&1 & 查看启动状态: ps -ef | grep daemon.nimbus 使用浏览器在页面上查看拓扑的状态和集群环境运行状态http://xxx.xxx.xxx.xxx:8080/ 3、拓扑的提交与停止: 拓扑提交: storm jar stormtest-0.0.1-SNAPSHOT.jar

storm 0.9.2单机性能测试

空扰寡人 提交于 2019-12-04 04:58:32
最近在使用storm做了一下数据处理性能测试。 Topology结构:spout输出80万数据(csv格式);bolt1解析csv,拆分各信息段;bolt2按bolt1中某个字段汇总,累加记数后入库(入库触发频率:60s)。 并行度配置:spout task(1)executor(3);bolt1 excutor/task(16); bolt2 excutor/task(8); workers(8);storm slot(8) 硬件配置:8CPU ,16G memory 处理性能大概1W5/s。 测试过程中发现些问题,耽误了一些时间。 storm ui 0.9.2版本在显示Topology Summary时有bug,worker与excutor数量值写反了。可以通过storm list在命令行中进行验证。另外在显示topology时有js异常,导致详细显示空白,如遇上述问题可以重新下载ui代码,替换后即可解决。(https://github.com/apache/storm) strom在进行任务分发时有时会出现连接超时,异常原因不明: 2014-09-22 13:18:34 b.s.m.n.Client [INFO] Reconnect started for Netty-Client-ip-61/ip:6703... [11] 2014-09-22 13:18:35 b.s.m

Storm概念讲解和工作原理介绍

China☆狼群 提交于 2019-12-04 00:07:57
Strom的结构 Storm与传统关系型数据库 传统关系型数据库是先存后计算,而storm则是先算后存,甚至不存 传统关系型数据库很难部署实时计算,只能部署定时任务统计分析窗口数据 关系型数据库重视事务,并发控制,相对来说Storm比较简陋 Storm与Hadoop,Spark等是流行的大数据方案 与Storm关系密切的语言:核心代码用clojure书写,实用程序用python开发,使用java开发拓扑 topology Storm集群中有两种节点,一种是控制节点(Nimbus节点),另一种是工作节点(Supervisor节点)。所有Topology任务的 提交必须在Storm客户端节点上进行(需要配置 storm.yaml文件),由Nimbus节点分配给其他Supervisor节点进行处理。 Nimbus节点首先将提交的Topology进行分片,分成一个个的Task,并将Task和Supervisor相关的信息提交到 zookeeper集群上,Supervisor会去zookeeper集群上认领自己的Task,通知自己的Worker进程进行Task的处理。 和同样是计算框架的MapReduce相比,MapReduce集群上运行的是Job,而Storm集群上运行的是Topology。但是Job在运行结束之后会自行结束,Topology却只能被手动的kill掉,否则会一直运行下去

ZeroMQ--使用jzmq进行编程

不羁的心 提交于 2019-12-03 23:17:05
一、环境搭建 wget http://download.zeromq.org/zeromq-2.1.7.tar.gz tar -xzf zeromq-2.1.7.tar.gz cd zeromq-2.1.7 ./configure make sudo make install git clone https://github.com/nathanmarz/jzmq.git cd jzmq ./autogen.sh ./configure make sudo make install 如果没有安装libtool、libuuid-devel则需要先安装,否则安装失败 yum install libtool yum install libuuid-devel 常见问题: 出现java.lang.UnsatisfiedLinkError: /usr/local/lib/libjzmq.so.0.0.0: libzmq.so.1: cannot open shared object file: No such file or directory异常 原因是未找到zmq动态链接库。 解决方法1:export LD_LIBRARY_PATH=/usr/local/lib 解决方法2:编辑/etc/ld.so.conf文件,增加一行:/usr/local/lib。再执行sudo