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压力过大 ...
随机推荐
- Oracle使用并行建索引须要注意的问题
建索引时.我们为了建索引快.会加上并行,加上并行之后.此列索引就会是并行了. 訪问有并行度的索引时,CBO可能可能会考虑并行运行.这可能会引发一些问题,如在server资源紧张的时候用并行会引起更加严 ...
- Lua 服务器与客户端实例(转)
=============================================================== 服务器,main.lua ======================= ...
- ezjailserver备份和恢复方法
FreeBSD通过使用ezjail管理jails虚拟机非常方便.公司有多台ezjailsserver,执行n许多jails虚拟机,硬盘故障,做一个整体恢复.感性的方法如以下: 备份就绪: 暗示ezja ...
- [LeetCode179]Largest Number
题目: Given a list of non negative integers, arrange them such that they form the largest number. For ...
- TI C66x DSP 系统events及其应用 - 5.8(ISTP)
中断服务表指针ISTP(Interrupt Service Table Pointer)位置寄存器用于定位的中断服务例程,那ISTP去哪里找要运行的程序,ISTP(当中的ISTB字段)就是指向IST表 ...
- 【Java GUI】Java面板基础:JPanel
有两个面板,常见的面板(JPanel)和滚动面板(JScrollPane) Jpanel 面板是一种常见的容器,JPanel的作用是实现接口层次结构,面放入一些组件.也能够在上面绘画,将放有组件和有画 ...
- Jenkins(二) 安装、新建Jobs与删除及SVN配置(转)
官网首页(https://jenkins-ci.org/)就提供了windows版本的Jenkins安装包.可以自己下载一个用于学习.安装后自动打开http://localhost:8080,就可以看 ...
- LeetCode :: Convert Sorted Array (link list) to Binary Search Tree [tree]
1.Given an array where elements are sorted in ascending order, convert it to a height balanced BST. ...
- 一个可以跑的Hadoop的WordCount程序
搭个新环境时总要折腾一下,于是干脆记下来. 程序: package com.my; import java.io.IOException; import java.util.Iterator; imp ...
- 复制(6)——分发者(Distributor)
如简介中提到,分发者(Distributor)是SQLServer 复制过程的核心组件.因为它是控制和执行实际的数据移动的过程,并且存放了发布(Publications)和订阅(Subscriptio ...