Hadoop 浅谈
文章平均质量分 68
深入简出,畅谈Hadoop,coding for fun 。
Simple_Zz
这个作者很懒,什么都没留下…
展开
-
Hadoop2.x运行模式/部署/区别
在做hadoop开发时,理解hadoop的运行模式尤为重要。 首先我们了解一下两个目录../hadoop/sbin与../hadoop/etc/hadoopsbin 用于启动hadoop的脚本文件目录 etc/hadoop 用于配置启动文件,通过 **.xml 配置来确定hadoop的运行模式 Hadoop的三种启动模式:Hadoop部...原创 2015-01-16 08:42:08 · 1018 阅读 · 0 评论 -
HDFS 优缺点
HDFS主要是用于做什么的? HDFS(Hadoop Distributed File System)是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。它所具有的高容错、高可靠性、高可扩展性、高获得性、高吞吐率等特征为海量数据提供了不怕故障的存储,为超大数据集(Large Data Se...原创 2015-01-27 06:50:53 · 1128 阅读 · 0 评论 -
HDFS 架构
HDFS架构设计HDFS 采用Master/Slave的架构来存储数据,这种架构主要由四个部分组成。 分别为HDFS Client、NameNode、DataNode和Secondary NameNode。HDFS架构图Client:客户端文件切分。文件上传 HDFS 的时候,Client 将文件切分成 一个一个的Block,然后进行存储。 与 NameNode 交互,获取文件...原创 2015-01-27 23:32:52 · 4244 阅读 · 0 评论 -
HDFS 文件快大小
HDFS 文件块大小 HDFS中的文件在物理上是分块存储(block),块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,老版本中是64M。 HDFS的块比磁盘的块大,其目的是为了最小化寻址开销。如果块设置得足够大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。因而,传输一个由多个块组成的文件的时间取决于磁盘传...原创 2015-03-03 17:52:12 · 1035 阅读 · 0 评论 -
HDFS 常用命令
文件操作查看 列出HDFS下的文件 # bin/hadoop dfs -ls 查看 列出HDFS文件下名为 in 的文档中的文件 # bin/hadoop dfs -ls in 上传 将hadoop目录下的test1文件上传到HDFS上并重命名为test # bin/hadoop dfs -put test1 test 下载 将HDFS中的in文件复制到本...原创 2015-03-05 12:42:41 · 3166 阅读 · 0 评论 -
HDFS JavaAPI 操作
HDFS 获取文件系统@Testpublic void initHDFS() throws Exception{ // 1 创建配置信息对象 Configuration conf = new Configuration(); // 2 获取文件系统 FileSystem fs = FileSystem.get(conf); // 3 打印文件系...原创 2015-03-09 11:31:44 · 4237 阅读 · 0 评论 -
HDFS IO流操作
HDFS 文件上传@Testpublic void putFileToHDFS() throws Exception { // 1 创建配置信息对象 Configuration conf = new Configuration(); // 2 获取文件系统 FileSystem fs = FileSystem.get(conf); // 3...原创 2015-03-18 02:16:43 · 552 阅读 · 0 评论 -
HDFS 读/写 数据流程
HDFS 写数据HDFS 写数据流程 客户端通过 Distributed FileSystem 模块向 namenode 请求上传文件,namenode 检查目标文件是否已存在,父目录是否存在。 namenode 返回是否可以上传。 客户端请求第一个 block 上传到哪几个 datanode 服务器上。 namenode 返回3个 datanode 节点,分别为 dn1、d...原创 2015-03-20 04:24:36 · 575 阅读 · 0 评论 -
NameNode 与 SecondaryNameNode 工作机制
分析思路:首先,做个假设:如果元数据存储在 NameNode 节点的磁盘中,因为经常需要进行随机访问、响应客户请求,必然是效率过低。 因此,元数据需要存放在内存中。 但是,只存在内存中,一旦断电、宕机,元数据丢失,整个集群就无法工作了。 因此,必须在磁盘中有备份,在磁盘中备份就是 fsimage,存放在 NameNode 节点对应的磁盘中。 这样,又有新问题,当在内存中的元数据更新时,...原创 2015-03-30 16:38:42 · 595 阅读 · 1 评论 -
DataNode 工作机制
DataNode 工作机制DataNode 工作机制 一个数据块在 DataNode 上以文件形式存储在磁盘上,包括两个块,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。 DataNode 启动后向 NameNode 注册。 注册通过后,每周期性(1小时)的向 NameNode 上报所有的块信息。 NameNode 发起心跳每3秒一次,DataNod...原创 2015-04-04 10:45:55 · 700 阅读 · 0 评论 -
NameNode 与 DataNode 多目录配置
Namenode多目录配置namenode的本地目录可以配置成多个,且每个目录存放内容相同,增加了可靠性。hdfs-site.xml<property> <name>dfs.namenode.name.dir</name> <value>file:///${hadoop.tmp.dir}/dfs/name1,file:/...原创 2015-04-08 00:35:06 · 669 阅读 · 0 评论 -
MapReduce
MapReduce 定义Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架; Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上。MapReduce 优点MapReduce 易于编程。它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以分布...原创 2015-04-11 20:53:06 · 361 阅读 · 0 评论 -
Hadoop 序列化 与 反序列化
为什么要序列化? 一般来说,“活的”对象只生存在内存里,关机断电就没有了。而且“活的”对象只能由本地的进程使用,不能被发送到网络上的另外一台计算机。 然而序列化可以存储“活的”对象,可以将“活的”对象发送到远程计算机。什么是序列化?序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储(持久化)和网络传输。 反序列化就是将收到字节序列(或其他数据传输协议)或者是硬...原创 2015-05-10 18:19:42 · 492 阅读 · 0 评论 -
Hadoop shuffle过程
Map端的shuffleMap端会处理输入数据并产生中间结果,这个中间结果会写到本地磁盘,而不是HDFS。每个Map的输出会先写到内存缓冲区中,当写入的数据达到设定的阈值时,系统将会启动一个线程将缓冲区的数据写到磁盘,这个过程叫做spill。在spill写入之前,会先进行二次排序,首先根据数据所属的partition进行排序,然后每个partition中的数据再按key来排序。partit...原创 2015-05-13 11:55:47 · 807 阅读 · 0 评论 -
MapReduce 运行原理详解 (Hadoop 2.6)
通过提交jar包,进行MapReduce处理,那么整个运行过程分为五个环节:向 client 端提交 MapReduce job。 随后 yarn 的 ResourceManager 进行资源的分配。 由 NodeManager 进行加载与监控containers。 通过 applicationMaster 与 ResourceManager 进行资源的申请及状态的交互,由 NodeMa...原创 2015-12-30 09:51:23 · 389 阅读 · 0 评论 -
MapReduce 工作原理简介
在MapReduce整个过程可以概括为以下过程:输入 → map → shuffle → reduce → 输出输入文件会被切分成多个块,每一块都有一个map taskmap阶段的输出结果会先写到内存缓冲区,然后由缓冲区写到磁盘上。默认的缓冲区大小是100M,溢出的百分比是0.8,也就是说当缓冲区中达到80M的时候就会往磁盘上写。如果map计算完成后的中间结果没有达...原创 2016-01-05 11:47:55 · 953 阅读 · 0 评论 -
Yarn 工作原理
由于Yarn良好的兼容性和扩展性,目前可以支持大部分数据引擎,所以了解Yarn的资源调度原理很有必要,Yarn主要由四个重要角色组成:ResourceManager:顾名思义资源管理器,主要负责资源管理和调度,ResourceManager主要由两个组件构成:ApplicationManager,主要负责两类工作:管理监控各个系统的应用,包括启动Applicaiton Master,监控A...原创 2016-04-19 10:00:43 · 420 阅读 · 0 评论 -
Hadoop HA
Hadoop HA 是什么?hadoop2.x版本中可以有多个namenode结点,一个是活跃(active)状态,一个是准备(standby)状态。HDFS HA背景HDFS集群中NameNode 存在单点故障(SPOF)。对于只有一个NameNode的集群,如果NameNode机器出现意外情况,将导致整个集群无法使用,直到NameNode 重新启动。影响HDFS集群不可用主要...原创 2016-05-13 18:01:33 · 1879 阅读 · 1 评论