Hadoop 2.2.0 HA构造
在这篇文章中《Ubuntu和CentOS分布式配置Hadoop-2.2.0》介绍hadoop 2.2.0最主要的配置。hadoop 2.2.0中提供了HA的功能,本文在前文的基础上介绍hadoop 2.2.0HA的配置。
说明:
下文中的两台namenode机器名各自是namenode1和namenode2.当中namenode1为active node。namenode2为standby namenode。
journalnode机器有三台(注意:至少为三台)。各自是journalnode1,journalnode2,journalnode3。(journalnode的机器的数量能够是3,5,7...)
另外,注意保持两台namenode的一致性,大部分在namenode1上进行的操作,也要在namenode2上进行一遍。
配置文件
core-site.xml和hdfs-site.xml的相关配置例如以下:
1、core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop2.2.0</value>
</property>
</configuration>
2、hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/dfs/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>
<property>
<name>dfs.ha.namenodes.mycluster</name>
<value>nn1,nn2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn1</name>
<value>namenode1:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn2</name>
<value>namenode2:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn1</name>
<value>namenode1:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn2</name>
<value>namenode2:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://journalnode1:8485;journalnode2:8485;journalnode3:8485/mycluster</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/home/dfs/journal</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/root/.ssh/id_rsa</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>6000</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>false</value>
</property>
</configuration>
重新启动使配置生效。
启动过程:
1、在journalnode机器上启动journalnode
sbin/hadoop-daemon.sh start journalnode
2、在namenode机器上启动namenode(这里假定namenode1为active。namenode2为standby)
a)假设是首次启动,在namenode1上执行format命令:
bin/hadoop namenode -format
b)假设是非首次启动,则在namenode1上执行下面命令
bin/hdfs namenode -initializeSharedEdits
c)在namenode1上启动namenode:
sbin/hadoop-daemon.sh start namenode
d)在namenode2上执行下面命令:
sbin/hadoop-daemon.sh start namenode -bootstrapStandby
假设失败的话。直接把namenode1的dfs.namenode.name.dir文件夹的数据直接复制到namenode2的dfs.namenode.name.dir文件夹。
然后在namenode2上启动namenode:
sbin/hadoop-daemon.sh start namenode
如今,namenode1和namenode2都启动了,都是“standby”状态。
e)在namenode1上执行命令:
bin/hdfs haadmin -transitionToActive nn1
这样,namenode1的状态就变成了“active”。
3、在datanode机器上启动datanode
sbin/hadoop-daemon.sh start datanode
到此时,hadoop2.0的HDFS就能够正常使用了,而且HA功能已经可用。
检查
能够通过下面页面查看active namenode(namenode1)和 standby namenode(namenode2)的状态
http://namenode1:50070/dfshealth.jsp
http://namenode2:50070/dfshealth.jsp
另外,能够执行经常使用的HDFS shell命令測试HDFS是否正常。
HA的failover測试
停掉namenode1的namenode(模拟namenode1挂掉),这时会发现hdfs不能用了。
在namenode2上执行下面命令:
bin/hdfs haadmin -transitionToActive nn2
执行命令成功后,namenode2的状态就变成“active”,这时 HDFS 恢复正常。
在namenode1上执行一下命令做主从切换命令:
bin/hdfs haadmin -failover nn1 nn2
此时namenode2的状态就变成“active”,而namenode1的状态变成“standby”。
转载请注明出处:http://blog.csdn.net/iAm333
版权声明:本文博主原创文章,博客,未经同意不得转载。
Hadoop 2.2.0 HA构造的更多相关文章
- 菜鸟玩云计算之十九:Hadoop 2.5.0 HA 集群安装第2章
菜鸟玩云计算之十九:Hadoop 2.5.0 HA 集群安装第2章 cheungmine, 2014-10-26 在上一章中,我们准备好了计算机和软件.本章开始部署hadoop 高可用集群. 2 部署 ...
- 菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章
菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章 cheungmine, 2014-10-25 0 引言 在生产环境上安装Hadoop高可用集群一直是一个需要极度耐心和体力的细致工作 ...
- Cloudera Hadoop 5& Hadoop高阶管理及调优课程(CDH5,Hadoop2.0,HA,安全,管理,调优)
1.课程环境 本课程涉及的技术产品及相关版本: 技术 版本 Linux CentOS 6.5 Java 1.7 Hadoop2.0 2.6.0 Hadoop1.0 1.2.1 Zookeeper 3. ...
- Hadoop 3.1.2(HA)+Zookeeper3.4.13+Hbase1.4.9(HA)+Hive2.3.4+Spark2.4.0(HA)高可用集群搭建
目录 目录 1.前言 1.1.什么是 Hadoop? 1.1.1.什么是 YARN? 1.2.什么是 Zookeeper? 1.3.什么是 Hbase? 1.4.什么是 Hive 1.5.什么是 Sp ...
- 第九章 搭建Hadoop 2.2.0版本HDFS的HA配置
Hadoop中的NameNode好比是人的心脏,非常重要,绝对不可以停止工作.在hadoop1时代,只有一个NameNode.如果该NameNode数据丢失或者不能工作,那么整个集群就不能恢复了.这是 ...
- Hadoop 2.6.0 Namenode HA,ResourceManager HA
先启动所有的zookeeper zkServer.sh start 在所有节点上启动JournalNode: sbin/hadoop-daemon.sh start journalnode 格式化第一 ...
- hadoop 2.2.0集群安装详细步骤(简单配置,无HA)
安装环境操作系统:CentOS 6.5 i586(32位)java环境:JDK 1.7.0.51hadoop版本:社区版本2.2.0,hadoop-2.2.0.tar.gz 安装准备设置集群的host ...
- Ubuntu14.04用apt在线/离线安装CDH5.1.2[Apache Hadoop 2.3.0]
目录 [TOC] 1.CDH介绍 1.1.什么是CDH和CM? CDH一个对Apache Hadoop的集成环境的封装,可以使用Cloudera Manager进行自动化安装. Cloudera-Ma ...
- Hadoop 5、HDFS HA 和 YARN
Hadoop 2.0 产生的背景Hadoop 1.0 中HDFS和MapReduce存在高可用和扩展方面的问题 HDFS存在的问题 NameNode单点故障,难以用于在线场景 NameNode压力过大 ...
随机推荐
- 如何处理 Windows Phone 8 动态砖变成黑白砖
原文:如何处理 Windows Phone 8 动态砖变成黑白砖 ? 问题的来龙去脉 我的 Windows Phone 8 动态砖变成黑白砖,所有图示和文字变成黑白,该如何处理? ? 问题的发生原因 ...
- 玩转web之servlet(六)---session介绍及简单使用(登录验证中保存信息)
在浏览器与服务器进行交互时,往往需要把涉及到的一些数据保存下来,这时就需要使用cookie或session进行状态管理. 这篇文章先来说说session怎么用,首先在servlet中创建一个sessi ...
- Codeforces Round #258 (Div. 2) B. Sort the Array
题目链接:http://codeforces.com/contest/451/problem/B 思路:首先找下降段的个数,假设下降段是大于等于2的,那么就直接输出no,假设下降段的个数为1,那么就把 ...
- effective c++ 条款26 postpone variable definition as long as possible
因为构造和析构函数有开销,所以也许前面定义了,还没用函数就退出了. 所以比较好的方法是用到了才定义.
- poj 2288 Islands and Bridges
题意: 给你一个双向连通图,求 获得权值最大 的 哈密顿通路的 权值 和 这个权值对应的数目: 其中权值计算方法是 列如 ABCD 权值是a+b+c+d+ab+bc+cd 如果 A,B,C 和B ...
- MY WAY程序(十三) 理念和技术
背部,该项目团队去了一半多,我们出差.我将离开之前,闪亮强哥给了我学习技术的列表,以了解它:AngularJs,bootsrap,smartadmin,html5,css3.很多前景的技术.哎,学吧, ...
- 【C语言探索之旅】 第三课:你的第一个程序
内容简介 1.课程大纲 2.第一部分第三课:你的第一个程序 3.第一部分第四课预告:变量的世界 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个 ...
- 微软研究院的分布式云计算框架orleans
orleans Orleans 客户端请求的消息流转以及消息在Silo中再路由机制 Witte 2015-04-29 21:58 阅读:196 评论:0 一种基于Orleans的分布式Id ...
- Java一流的施工顺序
1.没有对象的构造 public class Test { public static int k = 0; public static int n = 99; public static int i ...
- Android ELF文件格式
最近一直在学习elf相关信息.一个小总结,这里记录,也方便以后查阅. ELF是类Unix类系统,当然也包含Android系统上的可运行文件格式(也包含.so和.o类文件). 能够理解为Android系 ...