前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hadoop HA及Failover搭建

Hadoop HA及Failover搭建

作者头像
z小赵
发布2018-09-05 15:41:06
7020
发布2018-09-05 15:41:06
举报
文章被收录于专栏:简单聊聊Spark

Hadoop HA及Failover功能简单介绍:

在Hadoop1.X版本中使用单个NameNode来管理所有的DataNode的元数据,一旦NameNode节点发生故障将导致整个集群不可用,而且必须手动恢复NameNode节点才能够正常提供服务。基于以上致命的缺点,Hadoop2.X提出了HA(High Available)来改进单点故障;另外,通过使用Zookeeper的分布式通知协调功能实现HA的Failover(故障自动转移),而无需人工介入。下面开始介绍HA和Failover的安装配置。

首先,开始本文之前请先搭建好Zookeeper的环境,后续文章中会写关于Zookeeper如何搭建(各位看官如果有不会搭建Zookeeper的,目前请先自行百度,静候博主推出关于Zookeeper的搭建教程,博主这里默认已经搭建好了Zookeeper),本文是建立在分布式基础上进行的修改,如果已经安装好了完全分布式环境,则直接开始本文接下来的内容;如果还没有搭建好完全分布式环境,请看博主的上一篇关于完全分布式环境搭建教程,链接如下:

http://www.jianshu.com/p/962ac811623f

关于版本的介绍:

Zookeeper: zookeeper-3.4.5

Hadoop: hadoop-2.5.0

搭建HA:

1.修改hdfs-site.xml文件,内容如下:

#配置HA的nameservices <property>          <name>dfs.nameservices</name>          <value>ns1</value> </property> <property>         <name>dfs.ha.namenode.ns1</name>         <value>nn1,nn2</value> </property> #配置namenode RPC address <property>          <name>dfs.namendoe.rpc-address.ns1.nn1</name>          <value>master:8020</value> </property> <property>         <name>dfs.namendoe.rpc-address.ns1.nn1</name>         <value>slave1:8020</value> </property> #配置Namenode HTTP WEB的地址 <property>         <name>dfs.namenode.http-address.ns1.nn1</name>         <value>master:50070</value> </property> <property>         <name>dfs.namenode.http-address.ns1.nn1</name>         <value>slave1:50070</value> </property> #配置journalnode,share edit地址 <property>          <name>dfs.namenode.shared.edits.dir</name>         <value>qjournal://master:8485;slave1:8485;slave2:8485/ns1</value> </property> #配置edits的存放位置 <property>          <name>dfs.journalnode.edits.dir</name>           #这个目录请自行指定且该指定的目录已经创建好           <value>/usr/local/src/hadoop-2.5.0/data/dfs/jn</value> </property> #配置代理 <property>         <name>dfs.client.failover.proxy.provider.ns1</name>               <value>org.apache.hadoop.hdfs.hadoop.hdfs.server.namenode.ha. ConfiguredFailoverProxyProvider</value> </property> #配置namenode的隔离方式,这里使用ssh隔离方式,要求两个namenode之间能够通过ssh免密码登录 <property>         <name>dfs.ha.fencing.methods</name>         <value>sshfence</value> </property> <property>           <name>dfs.ha.fencing.ssh.private-key-files</name>           #这里根据实际情况修改,一般为/home/用户名/.ssh/id_rsa           <value>/root/.ssh/id_rsa</value> </property> #开启HA故障自动转移 <property>          <name>dfs.ha.automatic-failover.enabled</name>          <value>true</value> </property>

2.修改core-site.xml文件,内容如下:

<property>          <name>fs.defaultFS</name>          <value>hdfs://ns1</value> </property> <property>          <name>hadoop.tmp.dir</name>          <value>/usr/local/src/hadoop-2.5.0/data/tmp</value> </property> <property>          <name>fs.trash.interval</name>          <value>420</value> </property> #通过使用zookeeper实现HA故障自动转移 <property>          <name>ha.zookeeper.quorum</name>         <value>master:2181,slave1:2181,slave2:2181</value> </property>

启动测试:


①. HA通过使用zookeeper实现自动故障转移,实现方式如下:

    1. 配置好以后,启动所有节点的zookeeper服务

    2. 初始化HA在zookeeper中的状态,执行如下命令:

      bin/hdfs zkfc -formatZK


②. 启动HA,启动顺序如下:

    1. 启动每个节点的journalnode进程

sbin/hadoop-daemon.sh start journalnode

    2. 格式化集群,并启动namenode

bin/hdfs namenode -format        在nn1上执行格式化操作 sbin/hadoop-daemon.sh start namenode

    3. 同步nn1上的元数据到第二个nn2上,在nn2上执行如下命令

bin/hdfs namenode -bootstrapStandby

    4. 启动第二个namenode

sbin/hadoop-daemon.sh start namenode

    5. 启动datanode,在各个节点下执行如下命令启动datanode

sbin/hadoop-daemon.sh start datanode

    6.将一个namenode变成active状态,执行如下命令

bin/hdfs haadmin -transitionToActive nn1 #查看namenode的状态 bin/hdfs haadmin -getServiceState nn1 #将namenode变为standby状态 bin/hdfs haadmin -transitionToStandby nn1

      7. 对集群做基本测试,

          测试见:http://www.jianshu.com/p/962ac811623f 文章中的测试


至此,Hadoop的HA及Failover搭建完成,预祝各位朋友搭建成功。欢迎关注。

如需转载,请注明:

z小赵 Hadoop HA及Failover搭建

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.10.18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档