![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式计算
xiaomin_____
努力~~
展开
-
Apache Mahout 简介
通过可伸缩、商业友好的机器学习来构建智能应用程序当研究院和企业能获取足够的专项研究预算之后,能从数据和用户输入中学习的智能应用程序将变得更加常见。人们对机器学习技巧(比如说集群、协作 筛选和分类)的需求前所未有地增长,无论是查找一大群人的共性还是自动标记海量 Web 内容。Apache Mahout 项目旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout 的创始者 Gran...原创 2016-03-02 15:49:28 · 129 阅读 · 0 评论 -
在生产集群上运行topology
在生产集群上运行topology跟本地模式差不多。下面是步骤:1)定义topology(如果是java的话, 用TopologyBuilder)2) 使用StormSubmitter来把topology提交到集群。StormSubmitter的参数有:topology的名字,topology的配置对象,以及topology本身。比如:12345...原创 2015-08-03 00:20:52 · 84 阅读 · 0 评论 -
分布式多副本一致性问题
典型情况:三个副本构成一个group 1. 强一致性:所有的副本更新成功才返回。 如上图C表示Client,【P、S1、S2】构成一个同步组,P表示Primary node,S1,S2是两个secondary node,强同步模型的工作流程为C向P写数据,P向S1,S2转发,只有3个都写成功,才向C返回成功,否则写失败。这种模型对于append...原创 2015-08-03 00:19:24 · 194 阅读 · 0 评论 -
Storm 实现滑动窗口计数和TopN排序
计算top N words的topology, 用于比如trending topics or trending images on Twitter. 实现了滑动窗口计数和TopN排序, 比较有意思, 具体分析一下代码 Topology 这是一个稍微复杂些的topology, 主要体现在使用不同的grouping方式, fieldsGrouping和globa...原创 2015-08-02 11:45:12 · 364 阅读 · 0 评论 -
Storm: Transactional Topolgoy简介
作者: xumingming | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://xumingming.sinaapp.com/736/twitter-storm-transactional-topolgoy/ 本文翻译自: https://github.com/nathanmarz/storm/wiki/Transactional-topologi...原创 2015-08-02 11:29:03 · 68 阅读 · 0 评论 -
Storm的并行度、Grouping策略以及消息可靠处理机制简介
概念:Workers (JVMs): 在一个节点上可以运行一个或多个独立的JVM 进程。一个Topology可以包含一个或多个worker(并行的跑在不同的machine上), 所以worker process就是执行一个topology的子集, 并且worker只能对应于一个topology Executors (threads): 在一个worker JVM进程中运行着多个Java线程。...原创 2015-08-02 02:24:03 · 173 阅读 · 0 评论 -
Storm消息机制
这章讨论Storm's reliability capabilities, 如何保证从spout emit出来的所有tuple都被正确的执行(fully processed)? What does it mean for a message to be "fully processed"? 首先的问题是, 什么叫tuple或message被fully processed? 因...原创 2015-08-02 02:16:53 · 92 阅读 · 0 评论 -
Storm Topology的并发度
概念 一个Topology可以包含一个或多个worker(并行的跑在不同的machine上), 所以worker process就是执行一个topology的子集, 并且worker只能对应于一个topology 一个worker可用包含一个或多个executor, 每个component (spout或bolt)至少对应于一个executor, 所以可以说executor执...原创 2015-08-01 13:18:17 · 64 阅读 · 0 评论 -
Storm On YARN
1. 背景知识 (1)Storm:一个实时计算框架,与MapReduce离线计算框架互补,分别用于解决不同场景下的问题,Storm的官方网站是:http://storm-project.net/,如果想快速了解,推荐阅读淘宝的这篇文章:Storm简介。(2)YARN:YARN是Hadoop 2.0中新引入的资源管理系统,可看做Hadoop操作系统中的资源管理组件,所有应用程序和框架,...原创 2015-07-31 11:52:55 · 80 阅读 · 0 评论 -
流式大数据处理的三种框架:Storm,Spark和Samza
许多分布式计算系统都可以实时或接近实时地处理大数据流。本文将对三种Apache框架分别进行简单介绍,然后尝试快速、高度概述其异同。 Apache Storm 在Storm中,先要设计一个用于实时计算的图状结构,我们称之为拓扑(topology)。这个拓扑将会被提交给集群,由集群中的主控节点(master node)分发代码,将任务分配给工作节点(worker node)执行。一个拓扑中包括spo...原创 2015-07-20 18:05:57 · 160 阅读 · 0 评论 -
《BIG DATA大数据日知录 架构和算法》读书笔记
1.数据分片和路由HashHashH(Key) = hash(key) mod K虚拟桶(Virtual Buckets)先hash到桶,在Hash,多加一层Hash便于扩展一致性Hash分布式Hash表(DHT),P2P对等网络,构成环,节点加入和离开自动调整范围如HBase中的LSM树2.数据复制和一致性...原创 2016-06-20 10:11:19 · 119 阅读 · 0 评论 -
利用hadoop mapreduce 做数据排序
我们的需求是想统计一个文件中用IK分词后每个词出现的次数,然后按照出现的次数降序排列。也就是高频词统计。由于hadoop在reduce之后就不能对结果做什么了,所以只能分为两个job完成,第一个job统计次数,第二个job对第一个job的结果排序。 第一个job的就是hadoop最简单的例子countwords,我要说的是用hadoop对结果排序。 假设第一个job的结果输出如下:...原创 2016-07-22 10:53:40 · 338 阅读 · 0 评论 -
滑动窗口在storm中的实现
问题导读:1.滑动的触发由谁来完成?2.你认为滑动窗口与storm该如何结合?3.滑动窗口与storm结合是如何实现的? 这里需要对storm有所了解,可以参考总体认识storm包括概念,场景,组成,明白storm之后,我们继续下面内容。这里首先需要明白一个场景,那就是这个滑动窗口是什么窗口,about云首页位置,如下图所示,这个便是滑动窗口的一个例子,但是本文讲的不是图片的滑...原创 2016-12-05 15:10:35 · 205 阅读 · 0 评论 -
开源分布式计算框架(DC4C)
1 概述1.1 简介 DC4C是一个通用的分布式计算框架,研发初衷来自于2015年初我开发互联网数据挖掘平台的任务调度的技术需求。经过2015年4月一个月的研发,发布 第一版原型,而后不断优化完善,扩展功能,目前最新版本为v1.5.5。只依赖开源库fasterjson。 DC4C借鉴了Hadoop、Fourinone等分布式产品的设计,加...原创 2015-10-26 00:05:43 · 212 阅读 · 0 评论 -
Apache Tez:一个运行在YARN之上支持DAG作业的计算框架
【Apache Tez是什么?】 Tez(Hortonworks介绍:这里,源代码下载:这里,今天刚刚发布的源代码)是Apache最新开源的支持DAG作业的计算框架,它直接源于MapReduce框架,核心思想是将Map和Reduce两个操作进一步拆分,即Map被拆分成Input、Processor、Sort、Merge和Output, Reduce被拆分成Input、Shuffle、S...原创 2015-10-23 00:14:00 · 209 阅读 · 0 评论 -
spark RDD的理解
RDD是什么东西?在Spark中有什么作用?如何使用? 1、RDD是什么 (1)为什么会产生RDD? 传统的MapReduce虽然具有自动容错、平衡负载和可拓展性的优点,但是其最大缺点是采用非循环式的数据流模型,使得在迭代计算时要进行大量的磁盘IO操作。RDD正是解决这一缺点的抽象方法 (2)RDD的具体描述 RDD(弹性数据集)是Spark提供的最重...原创 2015-10-05 16:46:15 · 152 阅读 · 0 评论 -
开源IMDG之GridGain
作为另一款主流的开源数据网格产品,GridGain是Hazelcast的强有力竞争者。同样提供了社区版和商业版,近日GridGain的开源版本已经进入Apache孵化器项目Ignite(一款开源的内存计算(In-Memory Computing)IMC中间件),目前Apache正在迁移GridGain开源版本的代码到Ignite项目。鉴于经过之前Hazelcast的介绍已经对数据网格产品有了一...原创 2015-09-20 00:16:47 · 114 阅读 · 0 评论 -
Hazelcast: Java分布式内存网格框架(平台)
Hazelcast是一个高度可扩展的数据分发和集群平台,可用于实现分布式数据存储、数据缓存。特性包括:提供java.util.{Queue, Set, List, Map}分布式实现。提供java.util.concurrency.locks.Lock分布式实现。提供java.util.concurrent.ExecutorService分布式实现。...原创 2015-09-20 00:15:04 · 193 阅读 · 0 评论 -
hadoop storm 区别
http://www.zhihu.com/question/20098507 最主要的方面:Hadoop使用磁盘作为中间交换的介质,而storm的数据是一直在内存中流转的。 两者面向的领域也不完全相同,一个是批量处理,基于任务调度的;另外一个是实时处理,基于流。 以水为例,Hadoop可以看作是纯净水,一桶桶地搬;而Storm是用水管,预先接好(Topology),然后打开水龙头,水就源源不断...原创 2015-09-16 00:14:49 · 99 阅读 · 0 评论 -
大数据架构师:hadoop、Storm该选哪一个
首先整体认识:Hadoop是磁盘级计算,进行计算时,数据在磁盘上,需要读写磁盘;Storm是内存级计算,数据直接通过网络导入内存。读写内存比读写磁盘速度快n个数量级。根据Harvard CS61课件,磁盘访问延迟约为内存访问延迟的75000倍。所以Storm更快。注释:1. 延时 , 指数据从产生到运算产生结果的时间,“快”应该主要指这个。2. 吞吐, 指系统单位时间处理的数据量。storm的...原创 2015-09-14 00:15:41 · 74 阅读 · 0 评论 -
Spark与Flink:对比与分析
Spark是一种快速、通用的计算集群系统,Spark提出的最主要抽象概念是弹性分布式数据集(RDD),它是一个元素集合,划分到集群的各个节点上,可以被并行操作。用户也可以让Spark保留一个RDD在内存中,使其能在并行操作中被有效的重复使用。Flink是可扩展的批处理和流式数据处理的数据处理平台,设计思想主要来源于Hadoop、MPP数据库、流式计算系统等,支持增量迭代计算。 原理 Spark ...原创 2015-07-20 17:56:38 · 872 阅读 · 0 评论 -
storm job 提交集群测试 注意事项
Storm运行模式:本地模式(Local Mode): 即Topology(相当于一个任务,后续会详细讲解) 运行在本地机器的单一JVM上,这个模式主要用来开发、调试。远程模式(Remote Mode):在这个模式,我们把我们的Topology提交到集群,在这个模式中,Storm的所有组件都是线程安全的,因为它们都会运行在不同的Jvm或物理机器上,这个模式就是正式的生产模式。...原创 2015-07-15 15:50:23 · 88 阅读 · 0 评论 -
本地模式与StormSubmitter的对比
本地模式与StormSubmitter的对比现在,已经使用一个名为LocalCluster的工具在本地计算机上运行Topology。在计算机上运行Storm基础设施,可以很容易地运行与调试不同的Topology。但如果你想要提交你的Topology到运行中的Storm集群呢?Storm的一个有趣特性是,它很容易发送你的Topology去运行在一个真正的集群中。你需要做的是将LocalClus...原创 2015-07-15 11:28:18 · 126 阅读 · 0 评论 -
Storm UI
本文主要解释下storm ui上各项属性的含义。1. mainpage 首页主要分为3块: a. Cluster Summary Nimbus uptime: nimbus的启动时间 Supervisors: storm集群中supervisor的数目 used slots: 使用了的slots数 free slots: 剩余的s...原创 2015-06-23 17:31:04 · 65 阅读 · 0 评论 -
如何设计一个实时流计算系统
原文 http://fourinone.iteye.com/blog/1923072 实时流计算的场景归纳起来多半是: 业务系统根据实时的操作,不断生成事件(消息/调用),然后引起一系列的处理分析,这个过程是分散在多台计算机上并行完成的,看上去就像事件连续不断的流经多个计算节点处理,形成一个实时流计算系统。 市场上流计算产品有很多,主要是通过消息中枢结合工人模式实现,大致过程如下: ...原创 2015-06-23 14:03:38 · 207 阅读 · 0 评论 -
计算平台 vs 计算系统
总结:计算平台和计算系统的区别 如果我们只有几台机器,但是每天有人开发不同的流处理应用要在这几台机器上运行,我们需要一个计算平台来管理好job,让开发者按照规范配置好流程和运行时节点申请,打包成job上传,然后平台根据每个job配置动态分配资源依次执行每个job内容。 如果我们的几台机器只为一个流处理业务服务,比如实时营销,我们需要一个流计算系统,按照业务流程部署好计算节点即可,不需要运行多个...原创 2015-06-22 16:39:19 · 161 阅读 · 0 评论 -
windows安装storm
一:安装JDK.下载地址:地址一 地址二配置java环境变量 JAVA_HOME、Path、CLASSPATH三个值分别为(按照自己安装状况设置,此处供参考):D:\java\jdk17%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar (要加.表示...原创 2015-06-22 11:35:16 · 159 阅读 · 0 评论 -
Storm实战之WordCount
在全面介绍Storm之前,我们先通过一个简单的Demo让大家整体感受一下什么是Storm。Storm运行模式:本地模式(Local Mode): 即Topology(相当于一个任务,后续会详细讲解) 运行在本地机器的单一JVM上,这个模式主要用来开发、调试。远程模式(Remote Mode):在这个模式,我们把我们的Topology提交到集群,在这个模式中,Storm的所有组...原创 2015-06-22 02:39:03 · 121 阅读 · 0 评论 -
Storm 如何分发第三方依赖jar
Hadoop一般用在离线的分析计算中,而storm区别于hadoop,用在实时的流式计算中,被广泛用来进行实时日志处理、实时统计、实时风控等场景,当然也可以用在对数据进行实时初步的加工,存储到分布式数据库中如HBase,便于后续的查询。面对的大批量的数据的实时计算,storm实现了一个可扩展的、低延迟、可靠性和容错的分布式计算平台。1、对象介绍tuple:表示流中一个基本的处理单元...原创 2015-06-22 02:14:53 · 420 阅读 · 0 评论 -
hadoop如何分发本地的jar文件
这个命令实际上是转化成下面的命令来运行的在RunJar中,会读取abc.jar文件,然后尝试从manifest中提取Main-Class作为mainClass,如果manifest中没有指定,则把abc.jar之后的下一个参数当成mainClass。接下来,RunJar会在本地创建一个临时目录(下面称为workDir,类似/tmp/hadoop-unjar...),然后把abc.jar解...原创 2015-06-22 01:22:38 · 74 阅读 · 0 评论 -
大数据架构:flume-ng+Kafka+Storm+HDFS 实时系统组合
大数据我们都知道hadoop,但并不都是hadoop.我们该如何构建大数据库项目。对于离线处理,hadoop还是比较适合的,但是对于实时性比较强的,数据量比较大的,我们可以采用Storm,那么Storm和什么技术搭配,才能够做一个适合自己的项目。下面给大家可以参考。 可以带着下面问题来阅读本文章: 1.一个好的项目架构应该具备什么特点? 2.本项目架构是如何保证数据准确性的? 3.什么是Kafk...原创 2015-06-21 22:25:47 · 82 阅读 · 0 评论 -
storm实战入门一
本节探讨一下storm具体怎么使用,明白怎么在windows下开发storm程序。功能描述:实时随机输出一字符串。在开发前记得导入storm需要的jar包。1、SimpleSpout类继承BaseRichSpout类,用来产生数据并且向topology里面发出消息:tuple。package com.ljq.helloword;import java.util.Map...原创 2015-06-21 19:24:09 · 71 阅读 · 0 评论 -
storm 入门原理介绍
1.hadoop有master与slave,Storm与之对应的节点是什么?2.Storm控制节点上面运行一个后台程序被称之为什么?3.Supervisor的作用是什么?4.Topology与Worker之间的关系是什么?5.Nimbus和Supervisor之间的所有协调工作有master来完成,还是Zookeeper集群完成?6.storm稳定的原因是什么?7.如何运行Topology?s...原创 2015-06-24 09:32:43 · 74 阅读 · 0 评论 -
Storm 和JStorm
于流处理框架,在先前的文章汇总已经介绍过Strom,今天学习的是来自阿里的的流处理框架JStorm。简单的概述Storm就是:JStorm 比Storm更稳定,更强大,更快,Storm上跑的程序,一行代码不变可以运行在JStorm上。直白的将JStorm是阿里巴巴的团队基于Storm的二次开发产物,相当于他们的Tengine是基于Ngix开发的一样。阿里拥有自己的实时计算引擎...原创 2015-06-24 09:32:59 · 91 阅读 · 0 评论 -
storm - 常用命令
1、提交Topologies命令格式:storm jar 【jar路径】 【拓扑包名.拓扑类名】【stormIP地址】【storm端口】【拓扑名称】【参数】eg:storm jar /home/storm/storm-starter.jar storm.starter.WordCountTopology wordcountTop;storm jar /home/storm/storm-...原创 2015-07-15 09:58:29 · 231 阅读 · 0 评论 -
flume学习(一):log4j直接输出日志到flume
log4j.properties配置:log4j.rootLogger=INFOlog4j.category.com.besttone=INFO,flumelog4j.appender.flume = org.apache.flume.clients.log4jappender.Log4jAppenderlog4j.appender.flume.Hostname = localhostlog4j...原创 2015-06-27 11:24:27 · 162 阅读 · 0 评论 -
Flume NG 简介及配置实战
1、Flume 的一些核心概念:1.1 数据流模型1.2 高可靠性1.3 可恢复性2、Flume 整体架构介绍2.1 Exec source2.2 Spooling Directory Source3、常用架构、功能配置示例3.1 先来个简单的:单节点 Flume 配置3.2 单节点 Flume 直接写入 HDFS3.3 来一个常见架构:多 ag...原创 2015-06-27 11:21:44 · 125 阅读 · 0 评论 -
如何在eclipse调试storm程序
原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3971113.html 本文以一个简单的example来讲解如何开发storm应用程序1、创建maven工程 在eclipse下创建maven工程,可以参照http://www.cnblogs.com/tovin/p/3822985.html 2、修改pom.xm添加依...原创 2015-06-25 14:04:02 · 89 阅读 · 0 评论 -
Hadoop,Spark和Storm
大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来。为了能够更好 的架构大数据项目,这里整理一下,供技术人员,项目经理,架构师选择合适的技术,了解大数据各种技术之间的关系,选择合适的语言。我们可以带着下面问题来阅读本文章:1.hadoop都包含什么技术?2.Cloudera公司与hadoop的关系是什么,都有什么...原创 2015-06-25 13:41:51 · 273 阅读 · 0 评论 -
storm的指南
Storm这是一个分布式的、容错的实时计算系统,它被托管在GitHub上,遵循 Eclipse Public License 1.0。Storm是由BackType开发的实时处理系统,BackType现在已在Twitter麾下,基本是用Clojure写的。 Storm为分布式实时计算提供了一组通用原语,可被用于“流处理”之中,实时处理消息并更新数据库。这是管理队列及工作者集群的...原创 2015-06-25 09:41:20 · 76 阅读 · 0 评论