摘要:
说到对Hadoop和HBase的集群监控,大家知道的和用的最多的可能还是第三方的监控工具,cacti,ganglia,zabbix之类的。玩的深一些的,会用zenoss之类的。这些工具确实不错,也能发挥很大的作用,但时间长了总感觉监控粒度还是比较粗,不够详细。毕竟是第三方的监控,即便Hadoop自带了ganglia的接口,也还是觉得不够。其实Hadoop本身是带有监控接口的,各公司的发行版还有自己定制的接口,不过可能知道的人就不太多了。这个不详细的看文档和源码一般是找不到的,属于隐藏属性。事实上,我写的EasyHadoop管理界面里面就用到了这个监控的接口,能够对整个集群有一个比较详细的状态监 阅读全文
随笔分类 - hadoop
Hadoop配置项整理
2013-07-10 11:34 by java20130722, 426 阅读, 收藏,
摘要:
记录一下Hadoop的配置和说明,用到新的配置项会补充进来,不定期更新。以配置文件名划分以hadoop 1.x配置为例core-site.xmlnamevalueDescriptionfs.default.namehdfs://hadoopmaster:9000定义HadoopMaster的URI和端口fs.checkpoint.dir/opt/data/hadoop1/hdfs/namesecondary1定义hadoop的name备份的路径,官方文档说是读取这个,写入dfs.name.dirfs.checkpoint.period1800定义name备份的备份间隔时间,秒为单位,只对snn 阅读全文
RPC框架系列——Avro
2013-07-08 15:21 by java20130722, 815 阅读, 收藏,
摘要:
1.下载与安装 官方网站:http://avro.apache.org/ 下载地址:http://labs.renren.com/apache-mirror//avro/avro-1.5.1/avro-src-1.5.1.tar.gz 安装之前确保已经装了mavencd /usr/local/srcwget http://labs.renren.com/apache-mirror//avro/avro-1.5.1/avro-src-1.5.1.tar.gztar zxvf avro-src-1.5.1.tar.gzcd avro-src-1.5.1/lang/javamvn clean ... 阅读全文
源码级强力分析hadoop的RPC机制
2013-07-02 17:02 by java20130722, 224 阅读, 收藏,
摘要:
前言: 这些天一直奔波于长沙和武汉之间,忙着腾讯的笔试、面试,以至于对hadoop RPC(Remote Procedure Call Protocol ,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。可以参考:http://baike.baidu.com/view/32726.htm)机制分析的博客一直耽搁了下来。昨天晚上胡老大和我抱怨说:最近乱的很。呵呵,老是往武汉跑,能不乱嘛。不过差不多腾讯面试的事就该告一段落了。五一期间,云计算小组的成员们,我们再搞起来吧。记住,我们还有一本hadoop的手册没出来呢。胡老大已经答应给我们写提纲了,在这期 阅读全文
轻松使用Hadoop RPC
2013-07-02 16:52 by java20130722, 182 阅读, 收藏,
摘要:
Hadoop RPC是Hadoop的一个重要部分,提供分布式环境下的对象调用功能,源码在org.apache.hadoop.ipc中。而HBase也几乎完全copy了这部分的源码,只是在配置项上面有所改动。关于Hadoop RPC的机制分析和源码解读,网上已经有许多资料,一搜一大把,这里就不在描述了。本文通过一个小例子,介绍如何调用Hadoop RPC。1. 应用场景Hadoop RPC在整个Hadoop中应用非常广泛,Client、DataNode、NameNode之间的通讯全靠它了。举个例子,我们平时操作HDFS的时候,使用的是FileSystem类,它的内部有个DFSClient对象,这 阅读全文
Hadoop程序打印调试
2013-06-28 18:11 by java20130722, 672 阅读, 收藏,
摘要:
转载 Hadoop程序打印调试1. System.out 和 System.errMain在Main函数里使用System.out标准输出和System.err标准错误输出,输出定向到执行程序节点的终端上。即在完全分布的Hadoop部署中,输出会定向到启动程序的节点的终端上。Mapper针对每个split,会实例化一个Mapper对象作为一个task,在Hadoop集群中的某个机器中的某个Map槽上执行。Mapper对象中的map函数和configure函数会被主程序以RPC方式调用。因此,在Mapper对象中System.out和System.err输出的结果并不会定向到执行程序节点的终端. 阅读全文
hadoop-2.0.0-cdh4.2.1安装手册
2013-06-21 10:45 by java20130722, 636 阅读, 收藏,
摘要:
1. 角色分配:ocdata16: 10.1.253.26 :NameNode JournalNode Zookeeper DFSZKFailoverControllerocdata17: 10.1.253.27 :NameNode JournalNode Zookeeper DFSZKFailoverControllerocdata18: 10.1.253.28 :DataNode JournalNode Zookeeper ocdata19: 10.1.253.29 :DataNode 2. 添加SSH互信登录10.1.253.26\10.1.253.27\10.1.253.28\10.1 阅读全文
CDH4 HA方案
2013-06-21 10:42 by java20130722, 530 阅读, 收藏,
摘要:
CDH4 HA方案¶HDFS HA方案¶HDFS QJM 方案¶QJM手动切换方案¶手动切换方案,即在管理员发现Active NN不工作以后,或者由于升级等原因,手动将Standby NN切换为Standby NN。手动切换的流程为:1. 管理员在Active NN上,通过Hadoop命令行工具,通过HAAdmin工具(实现了Tools接口),将Active NN切换为Standby NN hadoop HAAdmin -transitionToStandby
成功后,集群变为两个Standby NN,此时客户端会在两个Standby NN之间来回重试。 阅读全文
Hadoop : MapReduce中的Shuffle和Sort分析
2013-05-22 09:57 by java20130722, 187 阅读, 收藏,
摘要:
转载自:http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763104c90354501de2b3fdcda107cd6924a84642c1a0131a8ec302267558e9a61375ff21c41e9f7357731012ba3de95c81cd2facf68699f27453146c115468d4e&p=c949d11885cc42a808e297790a0cc621&user=baidu&fm=sc&query=sort+shuffle&qid=bb3aeede0abbfe5f&p1 阅读全文
关于mapreduce 的 shuffle ,partition,combiner
2013-05-06 10:45 by java20130722, 238 阅读, 收藏,
摘要:
之前在学习mapreduce 的过程中一直不能够完全准确的理解shuffle,partition,combiner的作用,其实简单来说:shuffle: 是描述着数据从map端传输到reduce端的过程,而且我们知道的是hadoop的集群环境中,大部分map task和reduce task是在不同的node上执行,主要的开销是网络开销和磁盘IO开销,因此shuffle的主要作用相当于是 1.完整的从map task端传输到reduce task端。 2.跨节点传输数据时,尽可能减少对带宽的消耗.(注意是reduce执行的时候去拉取map端的结果) 3.减少磁盘IO开销对task的影... 阅读全文
hadoop hdfs 上传下载文件
2013-04-22 11:02 by java20130722, 628 阅读, 收藏,
摘要:
上传文件:package uploadfile;import java.io.*;import java.net.URI;import java.util.Date;import org.apache.hadoop.fs.*;import org.apache.hadoop.io.IOUtils;import org.apache.hadoop.conf.Configuration;public class UploadFile { public static void main(String[] args) { try{ long begin = System.current... 阅读全文
Hadoop中自定义计数器
2013-04-22 11:01 by java20130722, 249 阅读, 收藏,
摘要:
一、环境1、hadoop 0.20.22、操作系统Linux二、背景1、最近写MR的代码,总在想统计一些错误的数据出现的次数,发现如果都写在reduce的输出里太难看了,所以想找办法专门输出一些统计数字。2、翻看《hadoop权威指南》第8章第1节的时候发现能够自定义计数器,但都是基于0.19版本写的,好多函数都不对,改动相对较大。3、基于上面2个理由,写个文档,记录一下。三、实现1、前提:写入一个文件,规范的是3个字段,“/t”划分,有2条异常,一条是2个字段,一条是4个字段,内容如下:jim 1 28 kate 0 26 tom 1 kaka ... 阅读全文
hadoop eclipse 运行报错
2013-04-18 11:40 by java20130722, 497 阅读, 收藏,
摘要:
最近安装了hadoop的0.20.2 版本,然后再eclipse中安装了 对应的插件,在运行 示例中的 程序 WordCount.java 的时候,出现了很多错误:1. 配置连接的 hadoop Location name(取个名字) Map/Reduce Master(Job Tracker的IP和端口,根据mapred-site.xml中配置的mapred.job.tracker来填写) DFS Master(Name Node的IP和端口,根据core-site.xml中配置的fs.default.name来填写)2. 首次运行报错: 2010-07-17 16:56:14,968 WA 阅读全文
在eclipse中配置hadoop插件
2013-04-17 18:32 by java20130722, 182 阅读, 收藏,
摘要:
1.安装插件准备程序:eclipse-3.3.2(这个版本的插件只能用这个版本的eclipse)hadoop-0.20.2-eclipse-plugin.jar (在hadoop-0.20.2/contrib/eclipse-plugin目录下)将hadoop-0.20.2-eclipse-plugin.jar 复制到eclipse/plugins目录下,重启eclipse。2.打开MapReduce视图Window -> Open Perspective -> Other 选择Map/Reduce,图标是个蓝色的象。3.添加一个MapReduce环境在eclipse下端,控制台旁 阅读全文
Win下Eclipse提交hadoop程序出错:org.apache.hadoop.security.AccessControlException: Permission denied: user=D
2013-04-17 16:59 by java20130722, 162 阅读, 收藏,
摘要:
描述:在window下使用Eclipse进行hadoop的程序编写,然后Run on hadoop 后,出现如下错误:11/10/28 16:05:53 INFO mapred.JobClient: Running job: job_201110281103_000311/10/28 16:05:54 INFO mapred.JobClient: map 0% reduce 0%11/10/28 16:06:05 INFO mapred.JobClient: Task Id : attempt_201110281103_0003_m_000002_0, Status : FAILEDorg.a 阅读全文
Hadoop源码 – ipc.Server
2013-04-16 18:15 by java20130722, 309 阅读, 收藏,
摘要:
1、前言昨天分析了ipc包下的RPC、Client类,今天来分析下ipc.Server。Server类因为是Hadoop自己使用,所以代码结构以及流程都很清晰,可以清楚的看到实例化、停止、运行等过程。2、Server类结构上面是Server的五个内部类,分别介绍一下:1)Call用以存储客户端发来的请求,这个请求会放入一个BlockQueue中;2)Listener监听类,用以监听客户端发来的请求。同时Listener下面还有一个静态类,Listener.Reader,当监听器监听到用户请求,便用让Reader读取用户请求。3)Responder响应RPC请求类,请求处理完毕,由Respond 阅读全文
hadoop SecondaryNameNode和NameNode
2013-04-02 02:34 by java20130722, 161 阅读, 收藏,
摘要:
1.概述光从字面上来理解,很容易让一些初学者先入为主的认为:SecondaryNameNode(snn)就是NameNode(nn)的热备进程。其实不是。snn是HDFS架构中的一个组成部分,但是经常由于名字而被人误解它真正的用途,其实它真正的用途,是用来保存namenode中对HDFS metadata的信息的备份,并减少namenode重启的时间。对于hadoop进程中 ,要配置好并正确的使用 snn,还是需要做一些工作的。hadoop的默认配置中让snn进程默认运行在了namenode的那台机器上,但是这样的话,如果这台机器出错,宕机,对恢复HDFS文件系统是很大的灾难,更好的方式是:将 阅读全文
hadoop启动和运行中的error总结和处理方法
2013-04-02 02:15 by java20130722, 635 阅读, 收藏,
摘要:
错误一:2010-11-09 16:59:07,307 INFO org.apache.hadoop.ipc.Server: Error register getProtocolVersionjava.lang.IllegalArgumentException: Duplicate metricsName:getProtocolVersionat org.apache.hadoop.metrics.util.MetricsRegistry.add(MetricsRegistry.java:53)at org.apache.hadoop.metrics.util.MetricsTimeVaryi 阅读全文
Hadoop Job Tuning
2013-03-31 16:16 by java20130722, 155 阅读, 收藏,
摘要:
Hadoop平台已经成为了大多数公司的分布式数据处理平台,随着数据规模的越来越大,对集群的压力也越来越大,集群的每个节点负担自然就会加重,而且集群内部的网络带宽有限,数据交换吞吐量也在面临考验,由此引发了人们对大规模数据处理进行优化的思考。本文仅从实践经验出发,针对Hadoop Job优化提出了一些观点,不包含HDFS的优化。Job Tracker Related严格来说,下面这个配置项,是决定HDFS文件block数量的多少(也就是文件个数),但是它会间接的影响Job Tracker的调度和内存的占用(其实更能影响name node内存的使用)。dfs.block.size这个配置项定义了在 阅读全文
Hadoop 性能调优 重要参数设置技巧
2013-03-31 12:12 by java20130722, 462 阅读, 收藏,
摘要:
这一两个月在做mapreduce的性能调优,有些心得,还是要记下来的,以郷后人~这里主要涉及的参数包括:HDFS:dfs.block.sizeMapredure:io.sort.mbio.sort.spill.percentmapred.local.dirmapred.map.tasks & mapred.tasktracker.map.tasks.maximummapred.reduce.tasks & mapred.tasktracker.reduce.tasks.maximummapred.reduce.max.attemptsmapred.reduce.parallel 阅读全文
浙公网安备 33010602011771号