- 博客(123)
- 资源 (179)
- 收藏
- 关注
转载 Akka框架基本要点介绍
Akka基于Actor模型,提供了一个用于构建可扩展的(Scalable)、弹性的(Resilient)、快速响应的(Responsive)应用程序的平台。本文基本上是基于Akka的官方文档(版本是2.3.12),通过自己的理解,来阐述Akka提供的一些组件或概念,另外总结了Akka的一些使用场景。Actor维基百科这样定义Actor模型:在计算科学领域,Actor模型
2015-11-30 17:04:16 907
转载 Storm实时计算:流操作入门编程实践
Storm是一个分布式是实时计算系统,它设计了一种对流和计算的抽象,概念比较简单,实际编程开发起来相对容易。下面,简单介绍编程实践过程中需要理解的Storm中的几个概念:TopologyStorm中Topology的概念类似于Hadoop中的MapReduce Job,是一个用来编排、容纳一组计算逻辑组件(Spout、Bolt)的对象(Hadoop MapReduce中一个Jo
2015-11-30 16:19:28 569
转载 Apache Spark数据分析教程(二):Spark SQL
Spark是一款非常流行同时功能又十分强大的实时数据分析工具。在本 Spark序列教程的第一部分,我们已经对Spark进行了介绍,讲解了Spark的历史,详细解释了用于在Spark集群中进行数据分片存储的弹性分布式数据集( RDDs)并对Apache Spark的生态系统进行了介绍。本教程(第二部分)将对Spark生态系统中占有重要地位的Spark SQL和DataFrame进行介绍,给大
2015-11-30 09:25:33 1378
转载 Apache Spark大数据分析入门(一)
Apache Spark的出现让普通人也具备了大数据及实时数据分析能力。鉴于此,本文通过动手实战操作演示带领大家快速地入门学习Spark。本文是Apache Spark入门系列教程(共四部分)的第一部分。全文共包括四个部分:第一部分:Spark入门,介绍如何使用Shell及RDDs第二部分:介绍Spark SQL、Dataframes及如何结合Spark与Cassandra
2015-11-30 09:24:31 980
转载 Tachyon:Spark生态系统中的分布式内存文件系统
Tachyon是Spark生态系统内快速崛起的一个新项目。 本质上, Tachyon是个分布式的内存文件系统, 它在减轻Spark内存压力的同时,也赋予了Spark内存快速大量数据读写的能力。Tachyon把内存存储的功能从Spark中分离出来, 使Spark可以更专注计算的本身, 以求通过更细的分工达到更高的执行效率。 本文将先向读者介绍Tachyon在Spark生态系统中的使用, 也将分享百度
2015-11-29 12:13:38 645
转载 Hbase快速开始——shell操作
一. 介绍 HBase是一个分布式的、面向列的开源数据库,源于google的一篇论文《bigtable:一个结构化数据的分布式存储系统》。HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务。 HBase以表
2015-11-27 18:54:12 459
转载 Kafka+Spark Streaming+Redis实时计算整合实践
基于Spark通用计算平台,可以很好地扩展各种计算类型的应用,尤其是Spark提供了内建的计算库支持,像Spark Streaming、Spark SQL、MLlib、GraphX,这些内建库都提供了高级抽象,可以用非常简洁的代码实现复杂的计算逻辑、这也得益于Scala编程语言的简洁性。这里,我们基于1.3.0版本的Spark搭建了计算平台,实现基于Spark Streaming的实时计算。我
2015-11-25 21:00:20 747
转载 Kafka+Spark Streaming+Redis实时计算整合实践
基于Spark通用计算平台,可以很好地扩展各种计算类型的应用,尤其是Spark提供了内建的计算库支持,像Spark Streaming、Spark SQL、MLlib、GraphX,这些内建库都提供了高级抽象,可以用非常简洁的代码实现复杂的计算逻辑、这也得益于Scala编程语言的简洁性。这里,我们基于1.3.0版本的Spark搭建了计算平台,实现基于Spark Streaming的实时计算。我
2015-11-25 20:54:39 793
转载 Kafka+Spark Streaming+Redis实时计算整合实践
基于Spark通用计算平台,可以很好地扩展各种计算类型的应用,尤其是Spark提供了内建的计算库支持,像Spark Streaming、Spark SQL、MLlib、GraphX,这些内建库都提供了高级抽象,可以用非常简洁的代码实现复杂的计算逻辑、这也得益于Scala编程语言的简洁性。这里,我们基于1.3.0版本的Spark搭建了计算平台,实现基于Spark Streaming的实时计算。我
2015-11-25 20:52:34 1252
转载 本地开发spark代码上传spark集群服务并运行(基于spark官网文档)
打开IDEA 在src下的main下的scala下右击创建一个scala类 名字为SimpleApp ,内容如下import org.apache.spark.SparkContextimport org.apache.spark.SparkContext._import org.apache.spark.SparkConfobject SimpleApp { def mai
2015-11-25 20:41:03 795
转载 hadoop&spark mapreduce对比 & 框架设计和理解
Hadoop MapReduce:MapReduce在每次执行的时候都要从磁盘读数据,计算完毕后都要把数据放到磁盘spark map reduce:RDD is everything for dev:Basic Concepts:
2015-11-25 20:34:28 641
转载 spark架构设计&编程模型01
RDD操作例子:RDD的依赖和运行时深入RDD:另一种Partitioner是RangePartitioner:以NewHadoopRDD为例,其诶不的信息如下所示:
2015-11-25 20:33:01 504
转载 整合Kafka到Spark Streaming——代码示例和挑战
作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管。本文,Michael详细的演示了如何将Kafka整合到Spark Streaming中。 期间, Michael还提到了将Kafka整合到 Spark Streaming中的一些现状,非常值得阅读,虽然有一些信息在Spark 1.2版
2015-11-25 20:28:35 733
转载 ZooKeeper 简介
系统越来越大后切分出的模块越来越多,一些模块还部署了双机。配置文件混乱,更新部署极易出错,准备上 zookeeper。下载当前稳定版的 zookeeper,解压并拷贝 conf/zoo_sample.cfg 为 zoo.cfg,配置所需要的项目。最少配是只指定其中的 dataDir 项,其他项则使用默认值。tickTime=2000 # 心跳基本时间单
2015-11-25 19:52:11 878
转载 你不知道的shell用法和脚本,简单&强大
5. ctrl-x e快速启动你的默认编辑器(由变量$EDITOR设置)。6. netstat –tlnp列出本机进程监听的端口号。7. tail -f /path/to/file.log | sed '/^Finished: SUCCESS$/ q'当file.log里出现Finished: SUCCESS时候就退出tail, 这个
2015-11-25 19:49:45 1008
转载 使用ZooKeeper ACL特性进行znode控制
Zookeeper作为配置管理服务,因为配置数据有很高的安全要求,需要有权限控制,客户端需要进行登录认证才操作(查看数据,修改数据,创建children znode等等)Zookeeper上面对应znode。 1. 简单的客户端认证zkCli.sh 命令如下:12[zk: localhost:2181(C
2015-11-25 19:45:37 1547
转载 zookeeper的一致性协议:Zab
Zookeeper使用了一种称为ZabZookeeper Atomic Broadcast的协议作为其一致性复制的核心据其作者说这是一种新发算法其特点是充分考虑了Yahoo的具体情况高吞吐量、低延迟、健壮、简单但不过分要求其扩展性。下面将展示一些该协议的核心内容另本文仅讨论Zookeeper使用的一致性协议而非讨论其源码实现Zookeeper的实现是有Client、Server构成
2015-11-25 19:41:47 506
转载 Zookeeper的一次迁移故障
前阶段同事迁移Zookeeper(是给Kafka使用的以及flume使用)后发现所有Flume-producer/consumer端集体报错:123407 Jan 2014 01:19:32,571 INFO [conf-file-poller-0-SendThread(xxx:2181)] (o
2015-11-25 19:39:51 13206
转载 ZooKeepr监控
在公司内部,有不少应用已经强依赖zookeeper,zookeeper的工作状态直接影响它们的正常工作。目前开源世界中暂没有一个比较成熟的zookeeper-monitor, 于是开始zookeeper监控这块工作。 目前zookeeper-monitor能做哪些事情,讲到这个,首先来看看哪些因素对zookeeper正常工作比较大的影响:1. 用于zookeeper写日志的
2015-11-25 19:33:35 735
转载 ZooKeeper管理员指南——部署与管理
转载请注明:@ni掌柜 nileader@gmail.com本文以ZooKeeper3.4.3版本的官方指南为基础:http://zookeeper.apache.org/doc/r3.4.3/zookeeperAdmin.html,补充一些作者运维实践中的要点,围绕ZK的部署和运维两个方面讲一些管理员需要知道的东西。本文并非一个ZK搭建的快速入门,关于这方面,可以查看《ZooKeeper
2015-11-25 19:30:51 494
转载 ZooKeeper运维之使用SnapshotFormatter可视化快照数据
在ZooKeeper的运维过程中,我们经常会碰到这样的问题,就是快照数据文件越来越大,但是ZooKeeper上的数据节点数量并没有相应的增加。这说明什么问题:一定是有客户端在将ZooKeeper当数据库使用了。长此以往,必然会引起ZooKeeper内存数据过大而影响性能及集群间的数据同步。那么有没有办法能够排查此类问题呢?解决方法是有的,我们首先需要使用SnapshotFormat
2015-11-25 19:26:14 2413
转载 【ZooKeeper Notes 8】 zookeeper 权限控制
目前在公司内部使用ZooKeeper的地方越来越多,应用大多喜欢自己部署一套ZK集群来使用。考虑到ZK的高可用,并且一套ZK集群至少3台机器, 那么每个应用,尤其是一些非核心应用都自己去部署一套的话,对资源利用率很低。另外,随着ZK容灾的提出,单套ZK集群使用的机器量会更大,运维人员开始 对这个情况担忧,强烈希望能够合并ZK集群。ZK集群合并使用本身并没有太大的难度,问题在于应用方是否愿意大家共用
2015-11-25 19:23:02 393
转载 可视化zookeeper的事务日志
前面提到,在zookeeper server的配置文件zoo.cfg中可以通过dataLogDir来配置zookeeper的事务日志的输出目录,这个事务日志类似于下面这样的文件:这个文件是一个二进制文件, 一般不能够直接识别, 那么是否有方法可以把这些事务日志转换成正常日志文件呢, 答案是肯定的~ Zookeeper自带一个工具类:org.apache.zookeepe
2015-11-25 19:21:05 722
转载 Zookeeper工作原理
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee
2015-11-25 19:15:50 366
转载 hadoop+hbase+zookeeper集群安装方法
最近公司搭建hadoop+hbase+zookeeper集群,期间遇到了许多问题,这里和大家分享一下安装的一些经验,目的在于大家在部署hadoop集群环境中少走一些弯路: 由于刚开始的时候我用虚拟机安装,安装版本是hadoop0.20.2+hbase0.90.3+zookeeper3.3.3版本,在测试hbase集群的时候hmaster不能正常启动或者是启动后进程自杀(在网上找到的答案应该是虚拟
2015-11-25 19:13:29 549
转载 【ZooKeeper Notes 9】ZooKeepr日志清理
在使用zookeeper过程中,我们知道,会有dataDir和dataLogDir两个目录,分别用于snapshot和事务日志的输出(默认情况下只有dataDir目录,snapshot和事务日志都保存在这个目录中,关于这两个目录的详细说明,请看《ZooKeeper管理员指南》)。 正常运行过程中,ZK会不断地把快照数据和事务日志输出到这两个目录,并且如果没有人为操作的话,Z
2015-11-25 15:30:21 543
转载 使用JAXP进行SAX解析(XMLReaderFactory、XMLReader 、SAXParserFactory与SAXParser)
SAX解析XML文件采用事件驱动的方式进行,也就是说,SAX是逐行扫描文件,遇到符合条件的设定条件后就会触发特定的事件,回调你写好的事件处理程序。使用SAX的优势在于其解析速度较快,相对于DOM而言占用内存较少。而且SAX在解析文件的过程中得到自己需要的信息后可以随时终止解析,并不一定要等文件全部解析完毕。凡事有利必有弊,其劣势在于SAX采用的是流式处理方式,当遇到某个标签的时候,它并不会记录下以
2015-11-24 21:00:50 522
转载 使用JAXP进行DOM解析( DocumentBuilderFactory、DocumentBuilder、Document)
1.javax.xml.parsers 包中的DocumentBuilderFactory用于创建DOM模式的解析器对象 , DocumentBuilderFactory是一个抽象工厂类,它不能直接实例化,但该类提供了一个newInstance方法 ,这个方法会根据本地平台默认安装的解析器,自动创建一个工厂的对象并返回2.调用 DocumentBuilderFactory.newInsta
2015-11-24 20:59:01 414
转载 Kafka文件存储机制那些事
1.前言一个商业化消息队列的性能好坏,其文件存储机制设计是衡量一个消息队列服务技术水平和最关键指标之一。下面将从Kafka文件存储机制和物理结构角度,分析Kafka是如何实现高效文件存储,及实际应用效果。2.Kafka文件存储机制Kafka部分名词解释如下:Broker:消息中间件处理结点,一个Kafka节点就是一个broker,多个broker可以组成一个Ka
2015-11-24 19:49:46 418
转载 Kafka入门经典教程
一、基本概念介绍Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。这个独特的设计是什么样的呢?首先让我们看几个基本的消息系统术语:Kafka将消息以topic为单位进行归纳。将向Kafka topic发布消息的程序成为producers.将预订topics并消费消息的程序成为consumer.Ka
2015-11-20 11:40:39 695
转载 Flume NG 简介及配置实战
Flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 cloudera。但随着 FLume 功能的扩展,Flume OG 代码工程臃肿、核心组件设计不合理、核心配置不标准等缺点暴露出来,尤其是在 Flume OG 的最后一个发行版本 0.94.0 中,日志
2015-11-20 10:49:12 804
转载 Kafka Java API 之Producer源码解析
原帖地址:http://blog.csdn.net/xeseo/article/details/18315451从我的OneNote copy过来,格式似乎有点问题,懒得整了。将就着看吧,各位。Kafka提供了Producer类作为java producer的api,该类有sync和async两种发送方式。 默认是sync方式,即producer的调用类在消息真
2015-11-20 10:08:32 1237
转载 ActiveMQ 中的消息持久化(一)
为了防止系统意外down机丢失消息,同时能在系统恢复后能重新发送原来未发送的消息。一般消息系统都会采用持久化机制。Activemq5.4提供了几种持久化机制: 1、KahaDB message store 2、Journaled JDBC adapter 3、Non-journaled JDBC adapter 为了保持后向兼容性,Activemq5.4同样提供以前版本
2015-11-18 22:39:23 797
转载 ActiveMQ 中的消息游标(Message cursors)
在Activemq以前的版本中,broker会把待发送的消息保存在内存中。这种方式的缺陷是当消费者消费的速度赶不上生产者的速度时,会在broker的内存中积攒大量的消息,当达到一个限额后,broker就不再接收消息。这时生产者就被阻塞了,直到broker将内存清理能保存消息后才能继续发送。 在5.0版本后,Activemq实现了一种新的内存模型来防止慢消费者阻塞快速生产者。通常消息在未发
2015-11-18 22:37:06 849
转载 ActiveMQ 中的消息持久化(二)
为了长时间的存储和管理消息,一般会使用数据库。在Activemq中默认使用的是Derby DB。当然也可更改配置来使用其他的DB。Activemq支持以下这些DB: Apache DerbyAxionDB2HSQLInformixMaxDBMySQLOraclePostgresqlSQLServerSybase 如果要使用不在上面列表中的DB,可以通过配置SQL语句和JDB
2015-11-18 22:34:00 1342
转载 Storm常见模式5——TimeCacheMap
Storm中使用一种叫做TimeCacheMap的数据结构,用于在内存中保存近期活跃的对象,它的实现非常地高效,而且可以自动删除过期不再活跃的对象。TimeCacheMap使用多个桶buckets来缩小锁的粒度,以此换取高并发读写性能。下面我们来看看TimeCacheMap内部是如何实现的。1. 实现原理桶链表:链表中每个元素是一个HashMap,用于保存key,value
2015-11-18 19:55:58 571
转载 Storm常见模式4——批处理
Storm对流数据进行实时处理时,一种常见场景是批量一起处理一定数量的tuple元组,而不是每接收一个tuple就立刻处理一个tuple,这样可能是性能的考虑,或者是具体业务的需要。例如,批量查询或者更新数据库,如果每一条tuple生成一条sql执行一次数据库操作,数据量大的时候,效率会比批量处理的低很多,影响系统吞吐量。当然,如果要使用Storm的可靠数据处理机制的话,应该使用容器将这些
2015-11-18 19:54:08 438
转载 Storm常见模式3——流聚合
流聚合(stream join)是指将具有共同元组(tuple)字段的数据流(两个或者多个)聚合形成一个新的数据流的过程。从定义上看,流聚合和SQL中表的聚合(table join)很像,但是二者有明显的区别:table join的输入是有限的,并且join的语义是非常明确的;而流聚合的语义是不明确的并且输入流是无限的。数据流的聚合类型跟具体的应用有关。一些应用把两个流发出的所有的tupl
2015-11-18 19:51:25 508
转载 Storm常见模式2——TOP N介绍
导读问题:1.TOP N计算的应用场景有哪些?2.TOP N的实现方法和原理是什么?Storm的另一种常见模式是对流式数据进行所谓“streaming top N”的计算,它的特点是持续的在内存中按照某个统计指标(如出现次数)计算TOP N,然后每隔一定时间间隔输出实时计算后的TOP N结果。流式数据的TOP N计算的应用场景很多,例如计算twitter上最近一段时间内的热
2015-11-18 19:49:35 702
转载 Storm常见模式1——BasicBolt
1.Storm中与各个进程与hadoop进程对应关系是怎么样的?2.Storm中与hadoop对应的mapreduce是什么?Storm中的很多Bolt都有一个最常见的处理步骤:读入一个tuple;根据这个输入tuple,提取后发射0个,1个或多个tuple;最后,通过ack操作确认这个tuple被成功处理。按照上述处理步骤,依次处理发向这个Bolt的各个tup
2015-11-18 19:42:48 500
Apache Sqoop Cookbook
2014-08-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人