自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

bbaiggey_bigdata的博客

专注大数据 ---架构设计

  • 博客(36)
  • 资源 (1)
  • 收藏
  • 关注

原创 hadoop之MapReducer作业的提交执行过程

debug信息列出要切片的所有文件:[DeprecatedRawLocalFileStatus{path=file:/D:/a.txt; isDirectory=false; length=58; replication=1; blocksize=33554432; modification_time=1481531168562; access_time=0; owner=; group=;

2016-12-14 15:01:54 968 1

原创 Java泛型详解

一. 泛型概念的提出(为什么需要泛型)?首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(String[] args) { 4 List list = new ArrayList(); 5 list.add("qqyumidi

2016-12-28 14:24:16 5347 5

原创 intellij安装scala插件

版本:Intellij 11.1.3      scala  scala-intellij-bin-0.5.983.zip  1:查看本机Intellij开发工具的scala插件版本号 2:到http://plugins.jetbrains.com/plugin/?idea&id=1347上下载对应版本的scala插件 3:把下载的.zip格式的scal

2016-12-22 10:51:01 726

转载 Spring Cloud构建微服务架构(七)消息总线(续:Kafka)

Spring Cloud Bus除了支持RabbitMQ的自动化配置之外,还支持现在被广泛应用的Kafka。在本文中,我们将搭建一个Kafka的本地环境,并通过它来尝试使用Spring Cloud Bus对Kafka的支持,实现消息总线的功能。由于本文会以之前Rabbit的实现作为基础来修改,所以先阅读《Spring Cloud构建微服务架构(七)消息总线》有助于理解本文。Kafka简

2016-12-22 10:25:22 1478

转载 Spring Cloud构建微服务架构(七)消息总线

先回顾一下,在之前的Spring Cloud Config的介绍中,我们还留了一个悬念:如何实现对配置信息的实时更新。虽然,我们已经能够通过/refresh接口和Git仓库的Web Hook来实现Git仓库中的内容修改触发应用程序的属性更新。但是,若所有触发操作均需要我们手工去维护Web Hook中的应用位置的话,这随着系统的不断扩张,会变的越来越难以维护,而消息代理中间件是解决该问题最为合适

2016-12-22 10:24:22 848

转载 Spring Cloud构建微服务架构(六)高可用服务注册中心

近期因工作原因减缓了更新频率,同时为了把Spring Cloud中文社区搭建起来也费了不少时间,几乎每天都在挤牙膏般的凑时间出来做一些有意义的事。未能按原计划更新博文,在此对持续关注我博客的朋友们深表歉意。之前在写Spring Cloud系列文章的时候,列过一个较粗的计划,现在由于收到不少反馈和问题,因此准备做一些调整,先将一些大家关注较为集中的点拉出来写一些内容。今天这篇主要

2016-12-21 17:12:14 554

转载 Spring Cloud构建微服务架构(五)服务网关

通过之前几篇Spring Cloud中几个核心组件的介绍,我们已经可以构建一个简略的(不够完善)微服务架构了。比如下图所示:alt我们使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现;而服务间通过Ribbon或Feign实现服务的消费以及均衡负载;通过Spring Cloud Config实现了应用多环境的外部化配置以及版本管理。为了

2016-12-21 15:45:41 658

转载 Spring Cloud构建微服务架构(四)分布式配置中心(续)

本文接之前的《Spring Cloud构建微服务架构(四)分布式配置中心》,继续来说说Spring Cloud Config的使用。先来回顾一下,在前文中我们完成了什么:构建了config-server,连接到Git仓库在Git上创建了一个config-repo目录,用来存储配置信息构建了config-client,来获取Git中的配置信息在本文中,我们继续

2016-12-21 15:32:41 664

转载 Spring Cloud构建微服务架构(四)分布式配置中心

Spring Cloud Config为服务端和客户端提供了分布式系统的外部化配置支持。配置服务器为各应用的所有环境提供了一个中心化的外部配置。它实现了对服务端和客户端对Spring Environment和PropertySource抽象的映射,所以它除了适用于Spring构建的应用程序,也可以在任何其他语言运行的应用程序中使用。作为一个应用可以通过部署管道来进行测试或者投入生产,我们可以分别为

2016-12-21 14:38:57 887

转载 Spring Cloud构建微服务架构(三)断路器

在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断增加,最后就会出现因等待出现故障的依赖方响应而形成任务积压,最终导致自身服务的瘫痪。举个例子,在一个电

2016-12-20 18:33:01 488

转载 Spring Cloud源码分析(二)Ribbon

断断续续看Ribbon的源码差不多也有7-8天了,总算告一段落。本文记录了这些天对源码的阅读过程与一些分析理解,如有不对还请指出。友情提示:本文较长,请选择一个较为舒适的姿势来阅读在之前介绍使用Ribbon进行服务消费的时候,我们用到了RestTemplate,但是熟悉Spring的同学们是否产生过这样的疑问:RestTemplate不是Spring自己就有的吗?跟Ribbon

2016-12-20 18:32:04 1143 1

转载 Spring Cloud源码分析(一)Eureka

看过之前文章的朋友们,相信已经对Eureka的运行机制已经有了一定的了解。为了更深入的理解它的运作和配置,下面我们结合源码来分别看看服务端和客户端的通信行为是如何实现的。另外写这篇文章,还有一个目的,还是希望鼓励大家能够学会学习和研究的方法,由于目前Spring Cloud的中文资料并不多,并不是大部分的问题都能找到现成的答案,所以其实很多问题给出一个科学而慎重的解答也都是花费研究者不少精力的。

2016-12-20 18:30:12 1094

原创 Spring bean 通过实现 InitializingBean ,DisposableBean 接口实现初始化方法和销毁前操作

关于在spring  容器初始化 bean 和销毁前所做的操作定义方式有三种:第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作第二种是:通过 在xml中定义init-method 和  destory-method方法第三种是: 通过bean实现InitializingBean和 DisposableBean

2016-12-15 14:53:42 564

原创 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作

关于在spring  容器初始化 bean 和销毁前所做的操作定义方式有三种:第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作第二种是:通过 在xml中定义init-method 和  destory-method方法第三种是: 通过bean实现InitializingBean和 DisposableBean

2016-12-15 14:52:39 613

原创 Spring 的 init-method 和 destory-method

关于在spring  容器初始化 bean 和销毁前所做的操作定义方式有三种:第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作第二种是:通过 在xml中定义init-method 和  destory-method方法第三种是: 通过bean实现InitializingBean和 DisposableBean

2016-12-15 14:52:00 726

转载 Hadoop YARN配置参数剖析(5)—Capacity Scheduler相关参数

Capacity Scheduler是YARN中默认的资源调度器。想要了解Capacity Scheduler是什么,可阅读我的这篇文章“Hadoop Capacity Scheduler分析”。在Capacity Scheduler的配置文件中,队列queueX的参数Y的配置名称为yarn.scheduler.capacity.queueX.Y,为了简单起见,我们记为Y,则每个队

2016-12-14 15:46:23 901

转载 Grails 基础环境搭建及HelloWorld

Grails 基础环境搭建及HelloWorldGrails的介绍:Grails 为您提供 Rails 风格的开发体验,同时以可靠的 Java 技术作为坚强后盾。但是 Grails 不仅仅是 Rails 通往 Java 平台的简单入口。Grails 吸取了 Rails 的经验,并将它们与现代 Java 开发的意识相结合。可以认为 Grails 是受 Rails 启发,而不是由

2016-12-14 14:18:15 805

原创 JAVA Runtime.addShutdownHook()方法{拿到线程句柄,在程序关闭之前调用释放资源}

Runtime#addShutDownHook方法是给虚拟机增加一个虚拟机关闭时的调用钩子,在虚拟机关闭的时候调用这些钩子线程。还是非常有用的一个方法,最直接的用法就是监控了,因为其是在虚拟机临关闭时被调用,所以天生可以记录虚拟机关闭这件事情,及其相关的信息;再就是清理资源什么的,也可以做一个钩子线程,这样就不用再应用中为这些清理资源的操作找合适的位置了;下面先翻译一下这个方法的Java do

2016-12-14 09:48:26 2789

原创 win10+eclipse+hadoop2.6.0 开发环境

本人环境为win10        eclipse是 luna        在win10下,安装了vm workstation,其上安装了centos6.5 ,并在上面部署了hadoop2.6.4的伪分布式安装一、 目标        设置win10下的eclipse开发环境,并且可以在此环境上开发Hadoop应用,并在伪分布式hadoop环境下测试。

2016-12-12 19:12:47 1554

转载 Hadoop Snappy安装终极教程

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://shitouer.cn/2013/01/hadoop-hbase-snappy-setup-final-tutorial/ 因为产品需要,这两天研究了一下Hadoop Snappy。先不说什么各个压缩算法之间的性能对比,单是这个安装过程,就很痛苦。网上有很多博友写H

2016-12-12 16:02:13 6738 1

转载 SpringMVC + security模块 框架整合详解

最近整理一个二手后台管理项目,整体大体可分为 : Springmvc + mybatis + tiles + easyui + security 这几个模块,再用maven做管理。刚拿到手里面东西实在太多,所以老大让重新整一个,只挑出骨架。不可否认,架构整体规划得还是很好的,尤其是前端界面用tiles+easyui ,开发很高效!其实,之前虽然听说过security,但做过的项目都没用过secur

2016-12-12 14:03:14 1362

原创 读懂hadoop、hbase、hive、spark分布式系统架构

机器学习、数据挖掘等各种大数据处理都离不开各种开源分布式系统,hadoop用于分布式存储和map-reduce计算,spark用于分布式机器学习,hive是分布式数据库,hbase是分布式kv系统,看似互不相关的他们却都是基于相同的hdfs存储和yarn资源管理,本文通过全套部署方法来让大家深入系统内部以充分理解分布式系统架构和他们之间的关系本文结构首先,我们来分别部署一套hado

2016-12-11 18:16:25 4031 1

原创 利用yarn多队列实现hadoop资源隔离

大数据处理离不开hadoop集群的部署和管理,对于本来硬件资源就不多的创业团队来说,做好资源的共享和隔离是很有必要的,毕竟不像BAT那么豪,那么怎么样能把有限的节点同时分享给多组用户使用而且互不影响呢,我们来研究一下yarn多队列做资源隔离请尊重原创,转载请注明来源网站www.shareditor.com以及原始链接地址CapacityScheduler使用过第一代hado

2016-12-11 18:13:18 17741 1

转载 cloudera search1.0.0环境搭建(2):利用flume-ng的MorphlineSolrSink实现近实时(NRT)搜索

要实现近实时搜索,就必须有一种机制来实时的处理数据然后生成到solr的索引中去,flume-ng刚好提供了这样一种机制,它可以实时收集数据,然后通过MorphlineSolrSink对数据进行ETL,最后写入到solr的索引中,这样就能在solr搜索引擎中近实时的查询到新进来的数据了。搭建步骤:1 我们这里只做演示效果,所以新建了一个文件file01来保存了两条数据,后面将通过fl

2016-12-09 22:27:18 736

转载 OLAP引擎——Kylin介绍

Kylin是ebay开发的一套OLAP系统,与Mondrian不同的是,它是一个MOLAP系统,主要用于支持大数据生态圈的数据分析业务,它主要是通过预计算的方式将用户设定的多维立方体缓存到HBase中(目前还仅支持hbase),这段时间对mondrian和kylin都进行了使用,发现这两个系统是时间和空间的一个权衡吧,mondrian是一个ROLAP系统,所有的查询可以通过实时的数据库查询完成,而

2016-12-09 22:23:40 612

原创 flume学习(十):如何使用Spooling Directory Source

最近在弄一个银行数据汇聚的事情,主要目的是把FTP上的数据汇聚到HDFS上去存储。 逻辑是这样的:把FTP服务器上的文件下载到一台主机上,然后SCP到另外一台主机上的Spooling Directory Source所监控的目录下面去,sink是hdfs(这里解释一下,由于网络环境的因素,另一台不能访问到内网的FTP服务器,所以只能这样中转一下)。嗯,想法不错,逻辑上看上去也应该没啥问题,

2016-12-09 22:19:55 1137 1

转载 flume学习(九):使用Morphline Interceptor

Morphline是干嘛用的?简单点说就是一个ETL工具,详细介绍:http://kitesdk.org/docs/current/kite-morphlines/morphlinesReferenceGuide.html这里有一个注意点,是和cloudera search版本有关系的,我是用CDH 5.0.0, Parcel搭建的集群环境,对应装的cloudera search是1.0版

2016-12-09 22:18:05 1106

原创 flume学习(八):自定义拦截器

还是针对学习七中的那个需求,我们现在换一种实现方式,采用拦截器来实现。先回想一下,spooldir source可以将文件名作为header中的key:basename写入到event的header当中去。试想一下,如果有一个拦截器可以拦截这个event,然后抽取header中这个key的值,将其拆分成3段,每一段都放入到header中,这样就可以实现那个需求了。遗憾的是,flum

2016-12-09 22:07:39 835

原创 flume学习(七):自定义source

按照以往的惯例,还是需求驱动学习,需求是:我想实现一个功能,就在读一个文件的时候,将文件的名字和文件生成的日期作为event的header传到hdfs上时,不同的event存到不同的目录下,如一个文件是a.log.2014-07-25在hdfs上是存到/a/2014-07-25目录下,a.log.2014-07-26存到/a/2014-07-26目录下,就是每个文件对应自己的目录,这个要怎么实

2016-12-09 22:01:40 1923

原创 flume学习(六):如何使用event header中的key值

前面我们已经说到我们在header中添加了一个key为:flume.client.log4j.logger.source  ,然后有两个应用程序,一个设置为app1,一个设置为app2。现在有这么一个需求,要将app1的日志输出到hdfs://master68:8020/flume/events/app1目录下面,app2的日志输出到hdfs://master68:8020/flume/e

2016-12-09 21:53:47 3869

原创 flume学习(五):使用hive来分析flume收集的日志数据

前面已经讲过如何将log4j的日志输出到指定的hdfs目录,我们前面的指定目录为/flume/events。如果想用Hive来分析采集来的日志,我们可以将/flume/events下面的日志数据都load到hive中的表当中去。如果了解hive的load data原理的话,还有一种更简便的方式,可以省去load data这一步,就是直接将sink1.hdfs.path指

2016-12-09 21:49:24 883

原创 flume学习(四):Flume Channel Selectors使用

前几篇文章只有一个项目的日志,现在我们考虑多个项目的日志的收集,我拷贝了一份flumedemo项目,重命名为flumedemo2,添加了一个WriteLog2.java类,稍微改动了一下JSON字符串的输出,将以前requestUrl中的"reporter-api"改为了"image-api",以便和WriteLog类的输出稍微区分开来,如下:[java] view plain

2016-12-09 21:44:48 492

原创 flume学习(三):Flume Interceptors的使用

官网:http://flume.apache.org/对于flume拦截器,我的理解是:在app(应用程序日志)和 source 之间的,对app日志进行拦截处理的。也即在日志进入到source之前,对日志进行一些包装、清新过滤等等动作。官方上提供的已有的拦截器有:Timestamp InterceptorHost InterceptorStatic

2016-12-09 21:40:49 739

原创 flume学习(二):flume将log4j日志数据写入到hdfs

官网: http://flume.apache.org/在第一篇文章中我们是将log4j的日志输出到了agent的日志文件当中。配置文件如下:[plain] view plain copyprint?tier1.sources=source1  tier1.channels=channel1  tier1.sinks=sink1    tie

2016-12-09 21:31:09 640

原创 flume学习(一):log4jAppender直接输出日志到flume的avro-source

log4j.properties配置:log4j.rootLogger=INFO,flume,stdoutlog4j.appender.stdout = org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target = System.outlog4j.appender.stdout.layout=o

2016-12-09 21:27:48 1073

原创 git 拉取某个分支到本地

2016.2.21写这篇文章时git水平太菜,git 拉取其实只需要 git fetch origin xxx、 git pull origin xxx即可。---------------------分割线-----------------------------假设你已经配置好了各种SSH Key之类并熟悉基本的git创建分支、提交分支命令。比如下图共有2个分支,

2016-12-07 14:18:54 25412

数据库插入图片

数据库访问 使用MYSQL数据库,能够完成数据的批量增加、更新、删除操作,以及能够将文件、图片等大资源插入数据库。

2011-12-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除