在Hadoop2.0.0之前,NameNode(NN)在HDFS集群中存在单点故障(single point of failure),每一个集群中存在一个NameNode,如果NN所在的机器出现了故障,那么将导致整个集群无法利用,直到NN重启或者在另一台主机上启动NN守护线程. 主要在两方面影响了HDFS的可用性: (1).在不可预测的情况下,如果NN所在的机器崩溃了,整个集群将无法利用,直到NN被重新启动: (2).在可预知的情况下,比如NN所在的机器硬件或者软件需要升级,将导致集群宕机. H…
在Hadoop2.0.0之前,NameNode(NN)在HDFS集群中存在单点故障(single point of failure),每一个集群中存在一个NameNode,如果NN所在的机器出现了故障,那么将导致整个集群无法利用,直到NN重启或者在另一台主机上启动NN守护线程. 主要在两方面影响了HDFS的可用性: (1).在不可预测的情况下,如果NN所在的机器崩溃了,整个集群将无法利用,直到NN被重新启动: (2).在可预知的情况下,比如NN所在的机器硬件或者软件需要升级,将导致集群宕机. H…
134217728 / 1024 = 131072 / 1024 = 128…
简单介绍 本文档对从 Apache Hadoop 1.x 迁移他们的Apache Hadoop MapReduce 应用到 Apache Hadoop 2.x 的用户提供了一些信息. 在 Apache Hadoop 2.x 中,我们已经把资源管理功能放入 分布式应用管理框架 的Apache Hadoop YARN,而 Apache Hadoop MapReduce (亦称 MRv2) 保持为一个纯分布式计算框架. 总之,之前的 MapReduce 执行时 (亦称 MRv1) 已经被重用而且不会有…
目的 这份文档描写叙述了怎样安装.配置和管理从几个节点到有数千个节点的Hadoop集群. 玩的话,你可能想先在单机上安装.(看单节点配置). 准备 从Apache镜像上下载一个Hadoop的稳定版本号. 安装 安装一个Hadoop集群,一般包含分发软件到全部集群中的机器上或者是安装RPMs. 一般地,集群中的一台机器被唯一地设计成NameNode,还有一台机器被设置成ResourceManager.这是master(主). 集群中剩下的机器作为DataNode 和 NodeManager.这些是…
最近在学习hadoop,用的hadoop2.6.0 然后在学习编写mapreduce程序时,发现默认对文件的输入是采用每行进行分割,下面来分析下改变这个分割方式的办法: 来看看默认是怎样实现的:…
前言 首先确保已经搭建好Hadoop集群环境,可以参考<Linux下Hadoop集群环境的搭建>一文的内容.我在测试mapreduce任务时,发现相比于使用Job.setNumReduceTasks(int)控制reduce任务数量而言,控制map任务数量一直是一个困扰我的问题.好在经过很多摸索与实验,终于梳理出来,希望对在工作中进行Hadoop进行性能调优的新人们有个借鉴.本文只针对FileInputFormat的任务划分进行分析,其它类型的InputFormat的划分方式又各有不同.虽然如…
MapReduce在hadoop-0.23中已经经历了一次全然彻底地大修.就是如今我们叫的MapReduce 2.0 (MRv2) or YARN. MRv2的基本思想是把JobTracker分成两个基本的功能,资源管理和工作调度/监控.变成独立的进程.有一个全局的ResourceManager (RM)和每一个应用的ApplicationMaster (AM).一个应用要么是一个典型的Map-Reduce工作,要么是工作的DAG. ResourceManager 和 每一个从节点, NodeM…
目的 使用 CLI MiniCluster, 用户能够简单地仅仅用一个命令就启动或关闭一个单一节点的Hadoop集群,不须要设置不论什么环境变量或管理配置文件. CLI MiniCluster 同一时候启动一个 YARN/MapReduce 和 HDFS 集群. 这对那些想要高速体验一个真实的Hadoop集群或是測试依赖明显的Hadoop函数的非Java程序 的用户非常实用. Hadoop Tarball 你须要从公布页获取tar包.或者,你能够从源代码中自己编译. $ mvn clean in…
概览 这个新手教程描写叙述了native(本地?原生?)hadoop库,包括了一小部分关于native hadoop共享库的讨论. This guide describes the native hadoop library and includes a small discussion about native shared libraries. 注意: 依据你的环境,词组 "native libraries" 可能会变成 *.so,这样你就须要编译.然后,要是词组 "na…
FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式. 全部的的FS shell命令使用URI路径作为參数.URI格式是scheme://authority/path. 对HDFS文件系统,scheme是hdfs.对本地文件系统,scheme是file. 当中scheme和authority參数都是可选的,如果未加指定,就会使用配置中指定的默认scheme. 一个HDFS文件或文件夹比方/parent/child能够表示成hdfs://na…
目的 此文档描写叙述了怎样为Hadoop配置和管理 Service Level Authorization . 预备条件 确保已经安装Hadoop,配置和设置都正确了. 很多其它细节,请看:* 首次使用者的单节点设置 * 大的.分布式集群的集群设置. 概览 Service Level Authorization 是一个必要的初始认证机制.其确保client连接到一个有必要的.预配置的.权限和认证服务的特定的Hadoop服务.比如,一个 MapReduce 集群能够使用这个机制同意一个配置了的用户…
目的 此文档描写叙述了 FairScheduler, Hadoop 的一个可插入式的调度器,同意 YARN 应用在一个大集群中公平地共享资源. 简单介绍 公平调度是一种分配资源给应用的方法.以致到最后,平均上全部应用获得相等的资源.  Hadoop NextGen 可以调度多种类型的资源.默认的, Fair Scheduler 仅以内存为基础作公平调度决策.可以用Ghodsi 等开发的 Dominant Resource Fairness 概念配置调度内存和CPU.仅有一个应用执行时,这个应用使…
1 #!/usr/bin/env bash    此处为什么不是  #!/bin/bash  ? 考虑到程序的可移植性,env的作用就是为了找到正确的脚本解释器(这里就是bash),在不同的Linux系统上该解释器可能所处的位置不同 18 # This script runs the hadoop core commands. 19 20 bin=`which $0`                                  shell的默认赋值是字符串赋值, $0表示脚本本身的名字,w…
简单介绍 此文档描写叙述了一个超级用户怎样在安全的方式下以还有一用户的名义提交作业或訪问hdfs. Use Case 下一部分描写叙述的的代码演示样例对此用户用例是可用的. 一个username为'super'的超级用户想要以还有一用户joe的名义提交作业或訪问hdfs.超级用户有kerberos证书可是用户joe并没有. 任务要求以用户joe的角色执行而且namenode上的文件訪问也须要由joe完毕.须要用户joe以超级用户的kerberos证书可以认证连接到namenode 或 job t…
目的 这份文档描写叙述 CapacityScheduler,一个为Hadoop能同意多用户安全地共享一个大集群的插件式调度器,如他们的应用能适时被分配限制的容量. 概述 CapacityScheduler 被设计成以分享的.多用户集群执行 Hadoop 应用并最大化利用集群的机制. 传统上.每一个组织都会有它自己的私有电脑资源,在顶峰或接近顶峰状态有充足的容量来面对组织的SLA.这通常导致低平均利用和管理多个独立集群的管理费用,每一个集群要有一个. 组织间共享安装在Hadoop的集群是一种低成本…
简单介绍 可插入的 shuffle 和 sort 功能,同意在shuffle 和 sort 逻辑中用可选择的实现类替换.这个情况的样例是:用一个不是HTTP的应用协议,如RDMA来 shuffle 从Map节点中到Reducer节点的数据.或者用自己定义的同意 Hash聚合和Limit-N查询的算法来取代sort逻辑. 重要: 可插入的 shuffle  sort 功能是实验性的.不稳定.这意味着提供的API可能改变或破坏未来Hadoop版本号的兼容性. 实现一个自己定义的 Shuffle 和…
简单介绍 此文档描写叙述了怎样配置Hadoop HTTP web控制台,去要求用户认证. 默认地,Hadoop HTTP web控制台(JobTracker, NameNode, TaskTrackers 和 DataNodes)不须要不论什么认证就同意訪问. 与Hadoop RPC相似, Hadoop HTTP web控制台能够被配置为须要使用HTTP SPNEGO协议认证(由FireFox或IE支持). 还有,Hadoop HTTP web控制台同等地支持Hadoop's Pseudo/Si…
简单介绍 Encrypted Shuffle capability (加密洗牌功能? )同意用HTTPS 和 可选的client验证 (也称作双向的 HTTPS, 或有client证书的 HTTPS) 去加密 MapReduce shuffle.它包含: 在HTTP 和 HTTPS 之间绑定 shuffle 的一个 Hadoop 配置 用来指定 keystore 和 truststore 属性的Hadoop配置(位置,类型,password) 用于 shuffle 服务和reducer任务去取…
Hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作.在hadoop1时代,只有一个NameNode.如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了.这是hadoop1中的单点问题,也是hadoop1不可靠的表现.hadoop2就解决了这个问题. hadoop2.2.0中HDFS的高可靠指的是可以同时启动2个NameNode.其中一个处于工作状态,另一个处于随时待命状态.这样,当一个NameNode所在的服务器宕机时,可以在数据不丢失的情况下,手工或…
简介 [from http://www.open-open.com/lib/view/open1390717631132.html] hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作.在hadoop1时代,只有一个NameNode.如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了.这是hadoop1中的单点问题,也是hadoop1不可靠的表现,如图1所示.hadoop2就解决了这个问题. 图1 hadoop2.2.0中HDFS的高可靠指的是可以同时…
简介 hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作.在hadoop1时代,只有一个NameNode.如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了.这是hadoop1中的单点问题,也是hadoop1不可靠的表现,如图1所示.hadoop2就解决了这个问题. 图1 hadoop2.2.0中HDFS的高可靠指的是可以同时启动2个NameNode.其中一个处于工作状态,另一个处于随时待命状态.这样,当一个NameNode所在的服务器宕机时,可以在数…
操作系统:centos6.6(一台服务器) 环境:selinux disabled:iptables off:java 1.8.0_131 安装包:hadoop-2.5.0.tar.gz 伪分布式环境(适用于学习环境) 安装步骤: 1.解压安装包 # tar zxvf hadoop-2.5.0.tar.gz  -C   /data/hadoop/hadoopfake/ 2.配置hadoop参数 1)设置环境变量  #vim /etc/profile 追加下面两行: export HADOOP_H…
最近在学习搭建Hadoop, 我们从Apache官方网站直接下载最新版本Hadoop2.2.官方目前是提供了linux32位系统可执行文件,结果运行时发现提示 “libhadoop.so.1.0.0 which might have disabled stack guard” 的警告. Google了一下发现是因为 hadoop 2.2.0提供的是libhadoop.so库是32位的,而我们的机器是64位. 解决的办法就是重新在64位的机器上编译hadoop. 编译环境 OS: Ubuntu 1…
今天总算是把hadoop2.4的整个开发环境弄好了,包括 windows7上eclipse连接hadoop,eclipse的配置和測试弄得烦躁的一逗比了~ 先上一张成功的图片,hadoop的伪分布式安装配置,仅仅要依照步骤来,有点基础的 基本没什么问题的..eclipse的配置 弄了非常长一段时间才弄好的,中间出现各种意外的错误..下篇博客将重点讲述这个艰难的过程... 今天来说说hadoop2.4的安装和配置吧~ 1.环境的准备: 系统:CentOS JDK版本号:jdk7 系统须要包括ssh…
1下载hadoop 2安装3个虚拟机并实现ssh免密码登录 2.1安装3个机器 2.2检查机器名称 2.3修改/etc/hosts文件 2.4 给3个机器生成秘钥文件 2.5 在hserver1上创建authorized_keys文件 2.6将authorized_keys文件复制到其他机器 2.7 测试使用ssh进行无密码登录 2.7.1在hserver1上进行测试 2.7.2在hserver2上进行测试 2.7.3在hserver3上进行测试 3安装jdk和hadoop 3.1安装JDK 3…
http://blog.csdn.net/licongcong_0224/article/details/12972889 历时一周多,终于搭建好最新版本hadoop2.2集群,期间遇到各种问题,作为菜鸟真心被各种折磨,不过当wordcount给出结果的那一刻,兴奋的不得了~~(文当中若有错误之处或疑问欢迎指正,互相学习) PS:转载请注明来源:http://blog.csdn.net/licongcong_0224/article/details/12972889 另外:欢迎配置过程中遇到问题…
1. 环境信息如下: ubuntu:14.10 jdk:openjdk-1.7.0 hadoop:2.6.0 2. 下载hadoop2.6.0, http://apache.fayea.com/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz 本文的$HADOOP_HOME为:/media/GoldenResources/localSoft/hadoop-2.6.0. 在 ~/.bashrc文件中添加环境变量,如下: export HADOOP_HOM…
Hadoop 1.0内核主要由两个分支组成:MapReduce和HDFS,众所周知,这两个系统的设计缺陷是单点故障,即MR的JobTracker和HDFS的NameNode两个核心服务均存在单点问题,该问题在很长时间内没有解决,这使得Hadoop在相当长时间内仅适合离线存储和离线计算. 令人欣慰的是,这些问题在Hadoop 2.0中得到了非常完整的解决.Hadoop 2.0内核由三个分支组成,分别是HDFS.MapReduce和YARN,而Hadoop生态系统中的其他系统,比如HBase.Hiv…
hadoop中文镜像地址:http://mirrors.hust.edu.cn/apache/hadoop/core/hadoop-2.2.0/ 第一步,下载 wget 'http://archive.apache.org/dist/hadoop/core/hadoop-2.2.0/hadoop-2.2.0.tar.gz' 第二步,编译haoop-2.2.0(注解:这一步很费时间)因为官方下载只提供32位的,所以自己编译为64位http://blog.csdn.net/canlets/artic…