
Hadoop
文章平均质量分 80
天外有菌
none
展开
-
【Hadoop】RPC Overview
Hadoop中不同Process或不同Node之间的通讯方式是RPC,因而实现了一个内部的RPC机制,基于TCP和内部Serialization机制。包org.apache.hadoop.ipc主要提供了两个基础类Client和Server,顾名思义是分别提供给通讯客户端和通讯服务器段使用。RPC Client和Server类封装所有通讯协议、序列化等底层操作,但具体有哪些远程调用,需要由上层原创 2013-05-09 01:51:13 · 1952 阅读 · 0 评论 -
【Ambari】Agent总体概览
Agent是Ambari一个核心模块,主要负责在集群节点上执行命令(install/start/stop)和上报状态(liveness/progress/alert)。要理解实现细节甚至修改源代码,首先要有总体宏观的认识。笔者粗略浏览了一下Agent代码,认为可以从三大基本抽象入手,来描绘总体的概览。抽象Agent定义了三个基本抽象,也是三个抽象类:Resource表示Agent可操作的对象,每个R原创 2015-04-01 22:52:03 · 2662 阅读 · 0 评论 -
【Hadoop】Important Jiras Thoughout History
回顾Hadoop发展历史中的一些重要jira,对于学习和理解Hadoop设计原理和工作机制很有帮助,让你看到Hadoop commiters是如何一步步改进系统的。这里记录下个人觉得可以深入学习的jira。https://issues.apache.org/jira/browse/HADOOP-3136 Assign multiple tasks per TaskTracker heartb原创 2013-11-07 00:03:01 · 1024 阅读 · 0 评论 -
【Hadoop】Compression Options
http://comphadoop.weebly.com/experiment-and-results.htmlhttp://comphadoop.weebly.com/http://www.slideshare.net/ydn/hug-compression-talk以上几篇文章MR中常见的几种compression格式,并通过一些实验数据来比较。通常,compr原创 2014-02-07 14:49:44 · 1044 阅读 · 0 评论 -
【Hadoop】JobQueueTaskScheduler
JobQueueTaskScheduler是JT默认的任务调度器,其本质上维护一个priority-based FIFO作业队列,基本的机制是优先调度高优先级/提交时间早的作业。但是,具体的调度策略需要综合考虑一系列的问题,比如cluster资源利用率、系统吞吐率、任务locality等等。下面从这些方面来分析一下调度策略。单个TaskTracker利用率最初,JT调度器每次h原创 2013-11-08 17:48:47 · 1159 阅读 · 0 评论 -
【Hadoop】MapReduce Job Files
接收到一个MapReduce Job后,JobTracker需要维护Job相关的一些信息,其中一部分需要以文件形式存储在HDFS或Local FS上。下表总结了几个主要的存储地址:FSLocation PropertyChild DirectoryDirectory File ListFile TypeHDFSmapreduce.jobt原创 2013-10-19 21:16:28 · 1432 阅读 · 0 评论 -
【Hadoop】JobTracker Restart Recovery
如果当前有MapReduce Job正在运行,而JobTracker突然down掉了,怎么办?由于JobTracker只是负责Job调度,记账,监控等工作,真正的任务执行在TaskTracker上,完全有可能重启JT而不丢失之前的任务运行。JT需要做的是将Job执行状态备份到文件,重启时读取文件以便恢复(在《MapReduce Job Files》一文中已经总结了几种备份文件)。要打开Re原创 2013-10-20 16:25:52 · 1341 阅读 · 0 评论 -
搭建Hadoop VM集群
配置ssh无密码登录On master, 2013-09-21 12:19:05,240 ERROR org.apache.hadoop.mapred.TaskTracker: Can not start task tracker because java.io.IOException: Call to 192.168.15.131/192.168.15.131:8原创 2013-09-21 18:05:19 · 1624 阅读 · 0 评论 -
【Hadoop】Simple Authentication
最近在写一个MapReduce程序,需要从DB里面读取某些数据,但是公司内所有的DB都是Kerberos方式认证,因而有必要对MapReduce Security机制做一些初步的研究。JAAS首先,Hadoop Security是基于JAAS(Java Authentication and Authorization Service)实现的,这是JDK标准的一个框架,可plug各种类型的L原创 2013-08-07 00:53:18 · 6353 阅读 · 0 评论 -
【Hadoop】RPC Serialization Format
本文学习如何将远程调用的输入参数和输出返回值的序列化格式原创 2013-05-22 00:50:12 · 3508 阅读 · 2 评论 -
【Hadoop】MapReduce Job Submission Files
整个MapReduce Job运行流程的最初几步是Client向JobTracker(JT)提交Job,如下图所示,图中第三步是将Job运行相关资源copy到JT可见的文件系统上。本文将讨论Client需要copy的主要文件。下图列出了copy到staging dir上的几个文件:首先,显而易见的是,job.jar包含Job要执行的程序;job.xml包含所有配置信息(所有可配置的pr原创 2013-07-15 22:10:08 · 2088 阅读 · 0 评论 -
【Hadoop】Build and Execute
Hadoop官方wiki上介绍了如何用Maven编译和生成Eclipse项目,但是它需要hadoop-common的trunk代码,因为只有trunk上有pom.xml文件。而对于其他release版本的源代码,都包含build.xml,因此可以通过ant来编译。本文根据自己的经验,总结一下如何将下载的tar.gz源码包导入Eclipse,进而通过Eclipse编译和执行Hadoop。Comp原创 2013-07-16 21:59:36 · 1263 阅读 · 0 评论 -
【Hadoop】MapReduce Job Submission Files - 代码描述
Copy Job jar File org.apache.hadoop.mapred.JobClient.submitJobInternal() --> copyAndConfigureFiles() String originalJarPath = job.getJar(); //junz-20130713: Copy job jar file to JT's file原创 2013-07-15 22:34:30 · 1235 阅读 · 0 评论 -
A Hadoop data pipeline to analyze applicaction performance
1. IntroductionIn recent years, Hadoop has been under the spotlight for its flexible and scalable architecture to store and process big data on commodity machines. One of its common use cases is to原创 2013-06-01 21:50:51 · 3119 阅读 · 0 评论 -
【Hadoop】RPC Server Workflow
RPC Server的实现用到了Thread,Cocurrency,NIO等技术,对于学习者来说是很好的实践参考。这里先把workflow理清楚,再去研究具体的实现细节。如下图所示,其主要涉及到以下几种线程:Listener线程:以selectServerSocketChannel的方式监听Client的connect请求;对于每一个Client请求,由ServerSocketCh原创 2013-05-18 21:51:23 · 2152 阅读 · 2 评论 -
【Hadoop】RPC Client Workflow
Client端比Server端简单,只有两种线程:Client线程:发起RPC的主线程Connection线程:每一个ConnectionId (由组成)唯一对应一个Connection线程,用以接受server端的response如上图所示,基本的工作流程如下:Client线程将输入参数值封装成Call,Call在原来的基础上增加了RPC完成标志和RPC返原创 2013-06-01 15:40:18 · 1958 阅读 · 0 评论 -
【Hadoop】Why Writable Interface
在前面学习RPC系统的时候,可以看到client和server相互通讯都是用Writable类型来序列化。实际上,Writable Interface是一种Hadoop内置的序列化机制,MapReduce中的key, value都需要是Writable。最初一直不太理解,为何Hadoop需要自定义一种序列化机制,而不重用Java内置的序列化机制。《Hadoop The Definiti原创 2013-06-08 16:51:03 · 1394 阅读 · 2 评论 -
【Hadoop】RPC Serialization Format - 代码描述
在前面一篇文章http://blog.youkuaiyun.com/tragicjun/article/details/8958154中大致总结了RPC消息序列化的格式,这里从代码层来描述。Client-sideRPC Headerorg.apache.hadoop.ipc.Client.call() --> getConnection() --> Connection.setupIOstre原创 2013-05-23 00:54:29 · 1461 阅读 · 0 评论 -
Apache Ranger剖析:Hadoop生态圈的安全管家
前言2016年,Hadoop迎来了自己十周岁生日。过去的十年,Hadoop雄霸武林盟主之位,号令天下,引领大数据技术生态不断发展壮大,一时间百家争鸣,百花齐放。然而,兄弟多了不好管,为了抢占企业级市场,各家都迭代出自己的一套访问控制体系,不管是老牌系统(比如HDFS、HBase),还是生态新贵(比如Kafka、Alluxio),ACL(Access Control List)支持都是Roadmap里原创 2016-08-16 22:53:40 · 9959 阅读 · 5 评论