step1:将安装包hadoop-2.2.0.tar.gz存放到某一个目录下,并解压
step2:修改解压后的目录中的文件夹/etc/hadoop下的xml配置文件(如果文件不存在,则自己创建)
包括hadoop-env.sh mapred-site.xml core-site.xml hdfs-site.xml yarn-site.xml
step3:格式化并启动hdfs
step4:启动yarn
注意事项:
1,主备NameNode有多种配置方法,本课程使用JournalNode方式。为此需要至少准备3个节点作为JournalNode,这三个
节点可与其他服务,比如NodeManager(slave节点上有)公用节点
2,主备两个NameNode应位于不同机器上,这两台机器不要再部署其他服务,即他们分别独享一台机器(注:HDFS2.0中无需再部署
和配置SecondaryName,备NameNode已经替代它完成了相应的功能)(那为什么单机版的中会有secondarynamenode因为单机版的hadoop2.0兼容1.0的模式,可以用)
3,主备NameNode之间有两种切换方式:手动切换和自动切换,其中,自动切换时借助zookeeper实现的,因此,需单独部署一个zookeeper
集群(通常为奇数个节点,至少3个)。本课程使用手动切换方式 接下来介绍:
1 HDFS HA部署方法
2 HDFS HA + Federation部署方法
3 Yarn部署方法 第一种:HDFS HA 部署方法
部署家构图:


journalnode需要资源很少,所以可以跟datanode共享。 dfs.namenode.name.dir : NameNode fsiamge存放目录(元数据)---------- 可配置多个,一个可能不太可靠
dfs.namenode.shared.edits.dir : 主备NameNode同步元信息的共享存储系统 -------- 三个journal node地址
dfs.journalnode.edits.dir : Journal Node 数据存放目录
看个实际的例子:

core-site.xml说明:
fs.defaultFS 如果是自动切换这里会是逻辑地址,因为如果自动切换,那这里还要改名字很麻烦,所以自动切换的时候这里会切换成逻辑地址

HDFS-HA 部署流程-启动/关闭HDFSstep1:在各个节点上,启动Journalnode服务
sbin/hadoop-daemon.sh start journal
step2:在[nn1]上,对其进行格式化,并启动
bin/hdfs namenode -format
sbin/hadoop-daemon.sh start namenode
step3:在[nn2]上,同步[nn1]的元数据信息(含格式化过程)
bin/hdfs namenode -bootstrapStandby
step4:在[nn2]上,启动NameNode:
sbin/hadoop-daemon.sh start namenode
经过以上4步,nn1和nn2均处于standby状态
step5:在[nn1]上,将NameNode切换为Active
bin/hdfs haamin -transitionToActive nn1
step6:在[nn1]上,启动所有datanode
sbin/hadoop-daemon[s].sh start datanode

关闭hadoop集群:
在nn1上:sbin/stop-dfs.sh

如何验证:50070(active)50070 standby

Hadoop 学习笔记 (九) hadoop2.2.0 生产环境部署 HDFS HA部署方法的更多相关文章

  1. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

  2. Hadoop学习笔记—2.不怕故障的海量存储:HDFS基础入门

    一.HDFS出现的背景 随着社会的进步,需要处理数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是却不方便管理和维护—>因此,迫切需要一种系统来管理多 ...

  3. Hadoop 学习笔记 (十) hadoop2.2.0 生产环境部署 HDFS HA Federation 含Yarn部署

    其他的配置跟HDFS-HA部署方式完全一样.但JournalNOde的配置不一样>hadoop-cluster1中的nn1和nn2和hadoop-cluster2中的nn3和nn4可以公用同样的 ...

  4. Hadoop学习笔记—21.Hadoop2的改进内容简介

    Hadoop2相比较于Hadoop1.x来说,HDFS的架构与MapReduce的都有较大的变化,且速度上和可用性上都有了很大的提高,Hadoop2中有两个重要的变更: (1)HDFS的NameNod ...

  5. hadoop学习笔记(五):java api 操作hdfs

    HDFS的Java访问接口 1)org.apache.hadoop.fs.FileSystem 是一个通用的文件系统API,提供了不同文件系统的统一访问方式. 2)org.apache.hadoop. ...

  6. [读书笔记]C#学习笔记五: C#3.0自动属性,匿名属性及扩展方法

    前言 这一章算是看这本书最大的收获了, Lambda表达式让人用着屡试不爽, C#3.0可谓颠覆了我们的代码编写风格. 因为Lambda所需篇幅挺大, 所以先总结C#3.0智能编译器给我们带来的诸多好 ...

  7. C#学习笔记四: C#3.0自动属性&匿名属性及扩展方法

    前言 这一章算是看这本书最大的收获了, Lambda表达式让人用着屡试不爽, C#3.0可谓颠覆了我们的代码编写风格. 因为Lambda所需篇幅挺大, 所以先总结C#3.0智能编译器给我们带来的诸多好 ...

  8. hadoop学习笔记-目录

    以下是hadoop学习笔记的顺序: hadoop学习笔记(一):概念和组成 hadoop学习笔记(二):centos7三节点安装hadoop2.7.0 hadoop学习笔记(三):hdfs体系结构和读 ...

  9. hadoop学习笔记(二):centos7三节点安装hadoop2.7.0

    环境win7+vamvare10+centos7 一.新建三台centos7 64位的虚拟机 master node1 node2 二.关闭三台虚拟机的防火墙,在每台虚拟机里面执行: systemct ...

随机推荐

  1. 关于编译Lambda时报告返回的为void的错误

    这个错误的信息是这样的: a lambda that has been specified to have a void return type cannot return a value 报告错误的 ...

  2. Android开发_后台任务task管理_allowTaskReparenting alwaysRetainTaskState clearTaskOn

    1.android:allowTaskReparenting 这个属性用来标记一个Activity实例在当前应用退居后台后,是否能从启动它的那个task移动到有共同affinity的task,“tru ...

  3. Java jdbc数据库连接池总结!(转)

    1. 引言 近年来,随着Internet/Intranet建网技术的飞速发展和在世界范围内的迅速普及,计算机 应用程序已从传统的桌面应用转到Web应用.基于B/S(Browser/Server)架构的 ...

  4. SDWebImage 原理及使用

    这个类库提供一个UIImageView类别以支持加载来自网络的远程图片.具有缓存管理.异步下载.同一个URL下载次数控制和优化等特征. SDWebImage 加载图片的流程 入口 setImageWi ...

  5. VC++判断是否连网

    在开发中,需要判断是否有网络连接,于是写了个函数,实现代码如下: //判断是否有网络连接 static BOOL DoHaveInternetConnection() { BOOL bRet = FA ...

  6. linux sed使用

    原文引用:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html [root@www ~]# sed [-nefr] [动作] ...

  7. ubuntu下配置java环境变量

    1.官网下载linux对应的jdk安装包tar.gz 2.filezilla上传tar.gz到对应ubuntu目录test下(见上一篇) 3.解压:tar -zcvf XXX.tar.gz 4.修改解 ...

  8. Java 读取Properties 配置文件

    方法一,使用 io 包中的 BufferedInputStream 以及 FileInputStream读入文件转成字符流,然后使用 lang 包中 的 Properties 的 load 方法进行读 ...

  9. SQL Server 表字段值转列名 示例

    前几天,同事问我怎样把字段值转换成字段列,就写了一个最简单的Demo分享一下. 代码如下: -- 创建测试表以及添加测试数据create table #temp(a money,b varchar(1 ...

  10. 跨域的小小总结:js跨域及跨域的几种解决方法

    一.什么是跨域?? js跨域请求就是使用js访问iframe里的不同域名下的页面内容,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同的域的iframe框架中的数据.即只要域名.协议. ...