
hadoop1
文章平均质量分 78
iteye_3893
这个作者很懒,什么都没留下…
展开
-
core-site.xml配置参数详解
core-site.xml namevalue Description fs.default.namehdfs://hadoopmaster:9000定义HadoopMaster的URI和端口 fs.checkpoint.dir/opt/data/hadoop1/hdfs/namesecondary1定义hadoop的na...原创 2015-04-10 09:59:00 · 2567 阅读 · 0 评论 -
自定义OutputFormat
0 目标:自定义OutputFormat, 指定输出文件名,并对输出的key-value在不同key下分别输出到不同目标文件 1 代码: package outputformat;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;...原创 2014-12-04 16:36:32 · 374 阅读 · 0 评论 -
自定义InputFormat
0 引子: InputFormt的各种实现类是针对不同数据源来定义的,比如针对文件类型的FileInputFormat ,针对DB的DBInputFormat,如果数据源是别的样子的,那么该怎么做?这时候就需要自定义InputFormat了 参考图: 需要明确的一个流程: 一个split ----> 对应一个map任务, ...原创 2014-12-03 13:40:53 · 224 阅读 · 0 评论 -
InputFomrat各种子类实例
0 TextInputFormat extends FileInputFomrat<LongWritable,Text> 是默认读取文件的切分器 其内的LineRecordReader:用来读取每一行的内容, LineRecordReader:内的 nextKeyValue(){}中,key的赋值在: initialize()方法内, key...原创 2014-12-02 22:13:41 · 128 阅读 · 0 评论 -
map函数处理的<k1,v1>从HDFS文件中获取流程源码解析
0 引子: mapreduce在执行任务的时候,是如何将外部文件进行切分,并将这些文件转换成<k1,v1>键值对方式的(还记得 map-reduce基本概念和wordcount解析 文章中提到的<k1,v1>概念吗?) 一些总结性的话:a) recordreader + inputsplit是数据输入处理阶段非常重要的两个概念。b...原创 2014-11-30 20:33:41 · 535 阅读 · 0 评论 -
InputFormat简析
0 引子: hadoop把处理的文件读取到并解析成键值对,这个操作是通过InputFormat类的子类实现的。在执行一个Job的时候,Hadoop会将处理的数据(存放在hdfs中)划分成N个Split,然后启动相应的N个Map程序来分别处理它们,默认下hdfs中的一个block就会被划分为一个Split,现在的问题是:a)被处理的hdfs数据如何被划分b)Split对应的...原创 2014-11-30 13:49:15 · 909 阅读 · 0 评论 -
hadoop 牛人 案例+示意图
http://blog.youkuaiyun.com/xhh198781/article/details/7256142 hadoop 牛人 案例+示意图原创 2014-11-29 11:23:02 · 143 阅读 · 0 评论 -
hadoop_rpc简介
1.RPC简介 1.1 RPC (remote procedure call)远程过程调用, 指的是java进程,即一个java进程调用另一个java进程中对象的方法。 1.2 RPC至少有两个过程。调用方(client),被调用方(server)。 1.3 client主动发起请求,调用指定ip和port的server中的方法,把调用结果返回给client。 1.4...原创 2014-11-26 21:08:10 · 234 阅读 · 0 评论 -
hadoop1.1.2分布式安装(完备版)
0 简介:一共5个节点,hadoop0(namenode,jobtracker), hadoop1(secondnamenode),剩下hadoop2,hadoop3,hadoop4为datanode 节点环境:a) VMware8b) CentOS-5.8-i386c) win7-64位-旗舰 6G内存d) hadoop-1.1.2.tare...原创 2014-11-19 16:11:59 · 156 阅读 · 0 评论 -
hadoop1架构基本理解
0 出现原因: 业务场景:在1T数据中,找最小值a) 集中式处理方式:不断从硬盘加载部分数据放在机器内存中处理,然后丢弃内存数据,继续加载处理,这样CPU真正计算时间是很少的,大部分时间都用在了磁盘IO上,硬盘转速是固定的7200转,相对于内存速度和CPU速度,这种物理瓶颈无法处理,影响了整个作业速率。特点: 将数据加载到计算区 b) 分布式处理方式:1T的数...原创 2014-11-18 11:46:44 · 107 阅读 · 0 评论 -
hadoop1中启动后没有namenode处理方式
现象: 在学习中,使用虚拟机,每次学完都是 suspend虚拟机,然后开启虚拟机后,有时候jps master机器时,发现没有了namenode, 如下图: 问题出在哪里不是很清楚,不过貌似是由于每次start后,关机之前没有运行stop的缘故造成的。下面的方法应该有用:1、先运行stop-all.sh2、格式化namdenode,不过在这之前要...原创 2014-11-17 10:36:41 · 2787 阅读 · 0 评论 -
hadoop1 常用端口和配置文件说明
关于hadoop 常用端口和 配置文件详细信息, 请参考如下链接: http://www.cnblogs.com/ggjucheng/archive/2012/04/17/2454590.htmlhttp://www.cnblogs.com/ggjucheng/archive/2012/04/17/2454549.html 1、dfs.hosts 记录即将作为d...原创 2014-11-17 10:28:58 · 164 阅读 · 0 评论 -
hadoop1.1.2分布式安装---集群动态增减节点
0 关于配置机器别名,配置IP和别名映射,设置IP,关闭防火墙和自启动,单机下配置ssh请参考 hadoop1.1.2伪分布式安装(单机版)的文章, 链接:http://chengjianxiaoxue.iteye.com/admin/blogs/2093575 1 先安装好一台单机版的hadoop, 别名为master 2 准备另外两台虚拟机, 这里分别命令为...原创 2014-08-31 16:46:21 · 434 阅读 · 0 评论 -
hadoop group 自定义分组
引子: a) 排序的主要目的是在多数据组成情况下,灵活指定排序规则并展示数据 eg: <2,4,1>三数据组成的数据集合中,以row1asc , row2 desc, row3 asc方式展示所有结果 b)分组的主要目的是: 指定好key的分组规则(这个key可以是一个多数据组合成的一个类), 然后在reduce阶段会按照你指定的key的分组规则...原创 2014-08-30 19:15:05 · 232 阅读 · 0 评论 -
使用MultipleOutputFormat将数据写到不同文件中
0 引子: 目的: 将文件内容在进行map-reduce处理后,将结果写到不同的文件中(可以给不同文件重命名,取代默认生成的文件名) 1 代码: 使用老API得到如上目的(新的好像不知道怎么写...) package outputformat;import java.io.IOException;import java.net.URI;...原创 2014-12-04 21:23:02 · 502 阅读 · 0 评论 -
hadoop 计数器 Counter
0 计数器相当于开车中的仪表盘,用于提醒功能, 计数可以再map阶段,也可以在reduce阶段 1 写法代码: package counter;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;import org.apac...原创 2014-12-08 19:22:00 · 405 阅读 · 0 评论 -
hadoop shuffle过程
1 处理过程图: MapReduce确保每个reducer的输入都按键排序。系统执行排序的过程——将map输出作为输入传给reducer——称为shuffle。shuffle属于不断被优化和改进的代码库的一部分,从许多方面来看,shuffle是MapReduce的“心脏”,是奇迹发生的地方。事实上,shuffle这个说法并不准确。因为在某些语境中,它只代...原创 2015-03-18 10:47:44 · 234 阅读 · 0 评论 -
jps后查看进程号对应具体信息--查看执行文件或命令
0 ps -ef | grep 端口号/进程名/执行文件展示结果:上述命令解释如下:UID PIC PPID C STIME TTY TIME CMD# UID 谁操作发起的这个进程# PIC 这个程序的 ID 下面的 PPID 则是父程序的 ID;# C CPU 使用的资源百分比# CMD...原创 2015-03-11 10:40:22 · 3543 阅读 · 0 评论 -
apache avro 简介
1 rpc简介:a) 远程过程调用,本质是不同机器之间socket通讯b) 具体实现产品:rmi xml-rpc avro-rpc 等, 前两者使用时,实现比较复杂,并且相同数据量下序列化后的数量较大 影响机器之间的传输速度c) rpc数据序列化在Hadoop圈子中比较出名的两个工具: apache avro和google的protocol buff...原创 2015-01-17 13:23:11 · 305 阅读 · 0 评论 -
远程调试hadoop1源码(以调试namenode举例)
1.调试环境1.1 远程linux运行的hadoop1.2 本地windows的eclipse中导入hadoop源代码1.3 本地windows的eclipse中有hadoop的自己写的代码 2.步骤2.1修改远程linux运行的hadoop程序的hadoop-env.sh, 把第21行注释掉,增加一行代码 export HADOOP_NAMENODE_OPTS= "-X...原创 2015-01-06 14:04:14 · 280 阅读 · 0 评论 -
如何设计hadoop架构
0 脑子里要有货: a)这个框架是什么东西 b) 这个架构的特点 c) 这个框架适用于哪些业务场景,是基于何种具体问题被提出来的 d) 框架之间的搭配 e) 脑子中有一套设计架构,不合适业务的时候知道根据b) c)去选择哪个框架来替代 平时主动思考如果你出去面试, 面试官问你:(培养创造性意识 不要一直在ctrl界混)如果让你设计分...原创 2014-12-25 19:13:20 · 267 阅读 · 0 评论 -
将hdfs文件保存到hbase中
0.0 wlan.dat文件内容: 1363157985066 13726230503 00-FD-07-A4-72-B8:CMCC 120.196.100.82 i02.c.aliimg.com 24 27 2481 24681 2001363157995052 13826544101 5C-0E-8B-C7-F1-E0:CMCC 120.197.40.4 4 0 ...原创 2014-12-24 15:08:39 · 1292 阅读 · 0 评论 -
hadoop map join 思路 待补充
.map端join适用场景:小表可以全部读取放到内存中。两个在内存中装不下的大表,不适合map端join。 联想于:炊事班先做好饭放路边,急行军到了边拿馒头边吃 map端的小表就是馒头, map过来的每条记录就是急行军的每个人来拿馒头,这样就把业务做完了此时reduce端就没用作用了。 在一个TaskTracker中可以运行多个map任务。每个map任务是一个java进程...原创 2014-12-11 17:15:52 · 132 阅读 · 0 评论 -
hadoop reduce端join ---> 打标记
0 引子: 读取两个文件:hello:1,zhangsan2,lisi3,wangwu hello1:1,452,563,89 最后实现如下输出:zhangsan,45lisi,56wangwu,89 0.1) 从两个文件中得到数据,在map端根据文件名做记录,后在reduce上实现输出, 因为数据在不同文件中,因此必须也只能在red...原创 2014-12-11 16:19:10 · 132 阅读 · 0 评论 -
学习hadoop遇到的错误
0 为何reduce也会有分组:文件1--->map1分组---> 张三一组, 李四一组文件2--->map2分组---> 张三一组, 李四一组在map阶段,文件1和文件2仅仅在本map内分组但是map1和map2之间不会分组,因此只有在reduce的时候才能将所有数据合并并分组。 0.1map任务 ---> 由调用文件hdfs...原创 2014-12-11 11:42:47 · 145 阅读 · 0 评论 -
hadoop sort 自定义排序(三个数比较写法)
0 目的: 将文件,第一列相同时,第二列升序;第二列相同时,第三列升序3,3,33,2,43,2,02,2,12,1,41,1,0 mapreduce中: 1.在map和reduce阶段进行排序时,比较的是k2。v2是不参与排序比较的。如果要想让v2也进行排序,需要把k2和v2组装成新的类,作为k2,才能参与比较。 2.分组时也...原创 2014-12-10 14:47:02 · 485 阅读 · 0 评论 -
eclipse连接远程hadoop-1.1.2报0700错误
0 环境如下: eclipse 远程 CentOS下的hadoop集群, 代码运行时报错如下: Exception in thread "main" java.io.IOException: Failed to set permissions of path: \tmp\hadoop-zm\mapred\staging\zm-1751049113\.stag...原创 2014-12-10 13:11:32 · 503 阅读 · 0 评论 -
hadoop patition 分区简介和自定义
0 简介:0) 类比于新生<k,v>入学,不同的学生实现分配好了宿舍,然后进入到不同的宿舍(reduce task)如果map发送来的数据量太大,意味着这些数据都到这个默认reduce节点执行,没有发挥reduce并行计算的目的,IO压力也很大。 这就是分区的原因。a) 默认下分配一个区b) 分配几个区,则对应几个reduce任务,每个任务在执行的时...原创 2014-12-10 11:33:01 · 337 阅读 · 0 评论 -
hadoop combine 规约
0 简介: a) combine发生在map流程中b) 一般combine代码和自定义reduce代码相同,如果需要不相同,只需要继承hadoop.mapreduce.Reducer 在其内写自己代码即可。c) combine不是hadoop标配,其有使用局限性, 不会对多个map的输出做处理,不能跨map任务执行,不能代替reduce的作用,...原创 2014-12-09 08:37:50 · 424 阅读 · 0 评论 -
hadoopWritable接口常见数据类型-自定义数据类型-序列化
0 Java序列化反序列化概念: JVM把数据写到JVM管理范畴之外, 然后将这些数据读回来放在JVM管理范畴内时,需要一些处理才能被识别,写出去就是序列化,读取回JVM管理范畴内就是反序列化 0.1 Java序列化的不足:1.不精简。附加Java序列化的不足:1.不精简。附加信息多。不大适合随机访问。2.存储空间大。递归地输出类的超类描述直到不再有超类。序列化图...原创 2014-08-26 16:08:29 · 671 阅读 · 1 评论 -
hadoop以jar形式运行代码 并运行时动态指定参数
前言: 在执行 wordcount代码中,文件参数在代码中写死,如果希望动态指定 文件参数的话,可以将工程打成jar方式,在hadoop环境下执行,步骤如下: 1 wordcount类适量修改成如下:package mapreduce;import java.io.IOException;import java.net.URI;import java.n...原创 2014-08-24 09:21:39 · 455 阅读 · 0 评论 -
hadoop调度算法
1 hadoop目前支持以下三种调度器: FifoScheduler:最简单的调度器,按照先进先出的方式处理应用。只有一个队列可提交应用,所有用户提交到这个队列。没有应用优先级可以配置。CapacityScheduler:可以看作是FifoScheduler的多队列版本。每个队列可以限制资源使用量。但是,队列间的资源分配以使用量作排列依据,使得容量小的队列有竞争优势。集群...原创 2015-12-14 12:49:33 · 410 阅读 · 0 评论 -
hadoop优化0
1 map端优化: 1.1 shuffle过程中:数据从mapper端传递到reducer端的过程, 网络传输 磁盘读写操作 这是最耗费时间的.此时,可以进行数据压缩,参考链接:hadoop压缩1.2 map端的数据排序是发生在内存中,如果map缓冲区越大,那么写出到磁盘的次数就越少。 map端将内存中的数据spill到磁盘的时候,如果磁盘的是...原创 2015-12-14 12:41:46 · 83 阅读 · 0 评论 -
hadoop压缩
1 hadoop压缩codec, 作用: 加快数据传输速度,比如shuffle时,是优化的一部分。 在Hadoop中,codec由CompressionCode的实现来表示,如下是实现: 压缩算法效率: 如果用,感觉综合排名下,lzo效率是最高的。 mr中压缩参数: ...原创 2015-12-14 12:31:38 · 134 阅读 · 0 评论 -
hadoop博客整理
1 集群安装 2 集群参数 3 hdfs方面 4 mapreduce方面原创 2015-12-13 17:28:13 · 104 阅读 · 0 评论 -
hadoop fsimage edits关系
fsimage = name table , 存放namonode中所有数据,运行时数据加载到内存中存放edits_inprogress 类似于LSM树中的Log,在向hdfs写的过程都向此文件存放, 当存的数据到一定程度/或者定期间隔多久,会把此文件内容跟新到fsimage 刚开始写数据时会同时向namonode内存和edit中写,...原创 2015-12-11 16:54:12 · 339 阅读 · 0 评论 -
hadoop合并小文件的一些说说
0 一些背景说说:小文件: 是那些size比HDFS的block size(默认64M)小的多的文件因为: 任何一个文件,目录和block,在HDFS中都会被表示为一个object存储在namenode的内存中,每一个object占用150 bytes的内存空间。 如果有10million个文件,每一个文件对应一个block,那么就将要消耗namenode ...原创 2015-11-26 17:35:26 · 178 阅读 · 0 评论 -
ma-hadoop脚本命令 hadoop-hadoop dfs-hdfs dfs区别
1 hadoop 命令: [root@chinadaas01 ~]# hadoopUsage: hadoop [--config confdir] COMMAND where COMMAND is one of: fs run a generic filesystem user client vers...原创 2015-11-18 11:58:40 · 355 阅读 · 0 评论 -
ma-hadoop1 集群内存设置
如下介绍是 hadoop1 的非 yarn下内存分配设置: 1. 内存hadoop为各个守护进程(namenode,secondarynamenode,jobtracker,datanode,tasktracker)统一分配的内存在hadoop-env.sh中设置,参数为HADOOP_HEAPSIZE,默认为1000M。大部分情况下,这个统一设置的值可能并不适合。例...原创 2015-11-18 11:06:18 · 159 阅读 · 0 评论 -
ma-hadoop集群-配置文件-进程地址端口-和hive hbase关系
0 hadoop 集群: 集群部署方式: 将map任务等直接运行于要处理的数据所存储的HDFS的数据节点上,实现数据处理的本地性,进而大大提高整个过程的完成效率。 核心进程: 整个集群共有5类运行的核心进程,它们是MapReduce集群的JobTracker和TaskTracker,以及HDFS集群的NameNode、DataNode和SecondaryName...原创 2015-11-17 14:12:00 · 250 阅读 · 0 评论