Hadoop之HDFS的配置------HA(高可用版本)

本文详细介绍了如何配置Hadoop的HDFS高可用版本,包括SSH无密钥登录、Secondary NameNode搭建、配置HDFS-site.xml与core-site.xml、清理旧文件、启动JournalNode、NameNode格式化、ZooKeeper的使用等步骤,确保在NameNode节点故障时能实现平滑切换,保持集群的持续运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Step 1:配置节点直接SSH无密钥登录

http://blog.youkuaiyun.com/ymf827311945/article/details/71483220

Step 2:
搭建Hadoop之HDFS—-secondary版本(并不是说搭建HA必须先搭建secondary版本),首先是为了熟悉两种搭建方式,其次是因为搭建HA版本的HDFS的时候,有很多的步骤都是重复的,所以如果对于什么也没有搭建的来说,可以先搭建一个Secondary版本的HDFS,这样搭建HA版本的时候就很简单了(其实只是配置文件属性不同而已),而且我在将这个HA版本的时候是基于secondary版本的

http://blog.youkuaiyun.com/ymf827311945/article/details/71498248

Step3:
在node11节点上执行命令:
mkdir -p /opt/apps/hadoop/hadoop-2.6.0/journalnode
vi /opt/apps/hadoop/hadoop-2.6.0/etc/hadoop/hdfs-site.xml
删除Secondary版本的属性,添加如下属性(下列的ymf可以替换成你自己的cluster名字,包括节点替换成你自己的节点,还有journalnode的路径等等吧),然后保存退出

<property>
  <name>dfs.nameservices</name>
  <value>mycluster</value>
</property>
<property>
  <name>dfs.ha.namenodes.ymf</name>
  <value>nn1,nn2</value>
</property>


<property>
  <name>dfs.namenode.rpc-address.ymf.nn1</name>
  <value>node11:8020</value>
</property>
<property>
  <name>dfs.namenode.rpc-address.ymf.nn2</name>
  <value>node12:8020</value>
</property>

<property>
  <name>dfs.namenode.http-address.ymf.nn1</name>
  <value>node11:50070</value>
</property>
<property>
  <name>dfs.namenode.http-address.ymf.nn2</name>
  <value>node12:50070</value>
</property>

<property>
  <name>dfs.namenode.shared.edits.dir</name>    <value>qjournal://node11:8485;node12:8485;node13:8485/ymf</value>
</property>

<property>
  <name>dfs.client.failover.proxy.provider.ymf</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>/root/.ssh/id_rsa</value>
</property>

<property>
  <name>dfs.journalnode.edits.dir</name>
  <value>/opt/apps/hadoop/hadoop-2.6.0/journalnode</value>
</property>

<property>
   <name>dfs.ha.automatic-failover.enabled</name>
   <value>true</value>
</property>

这里写图片描述

Step 4:
在node11节点上执行命令:
mkdir -p /opt/apps/hadoop/hadoop-2.6.0/tmp
vi /opt/apps/hadoop/hadoop-2.6.0/etc/hadoop/core-site.xml
删除Secondary版本的属性,然后在两个configuration之间添加如下属性

<property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/apps/hadoop/hadoop-2.6.0/tmp</value>
</property>


<property>
  <name>fs.defaultFS</name>
  <value>hdfs://ymf</value>
</property>
<property>
   <name>ha.zookeeper.quorum</name>
   <value>node11:2181,node12:2181,node13:2181</value>
</property>

这里写图片描述

Step 5:
在node11节点上执行命令:
rm -rf /opt/apps/hadoop/hadoop-2.6.0/etc/hadoop/masters
这里写图片描述

Step 6:
在node11节点上执行命令:
rm -rf /opt/apps/hadoop/hadoop-2.6.0/tmp/*————-为了删除之前的文件
这里写图片描述

Step 7:
分别删除node12和node13节点上原来的文件夹,
rm -rf /opt/apps/hadoop/*
这里写图片描述

这里写图片描述
然后执行命令
scp -r /opt/apps/hadoop/hadoop-2.6.0/ node12:/opt/apps/hadoop/
这里写图片描述

这里写图片描述

Step 8:
分别在三个节点执行命令:
hadoop-daemon.sh start journalnode
这里写图片描述

这里写图片描述

这里写图片描述

Step 9:
在node11节点上执行命令:
hdfs namenode -format
这里写图片描述

Step 10:
在node11节点上执行命令:
hadoop-daemon.sh start namenode
这里写图片描述

Step 10:
在node12(另一个namenode)节点上执行命令:
hdfs namenode -bootstrapStandby——————-中途系统会提示reformat system,输入Y即可
这里写图片描述

Step 11:
在node11节点执行命令:
hadoop-daemon.sh stop namenode———————-再次停止namenode
这里写图片描述

Step 12:
分别在三台节点执行命令:
zkServer.sh start
这里写图片描述

这里写图片描述

这里写图片描述

Step 13:
在node11(namenode)节点上执行命令:
hdfs zkfc -formatZK——————格式化zookeeper
这里写图片描述

Step 14:
在node11节点上执行命令:
start-dfs.sh
这里写图片描述

Step 15:
分别在三个节点上执行命令:
jps————-查看进程
这里写图片描述

这里写图片描述

这里写图片描述

Step 16:
打开浏览器:分别输入—————-这个时候node12是活跃的节点,然后node11是备用点,如果node12节点宕机了,那么node11会自动成为active节点
http://192.168.80.11:50070
http://192.168.80.12:50070
这里写图片描述

这里写图片描述

Step 17:
在node12(active)节点上执行命令:
hadoop-daemon.sh stop namenode
这里写图片描述

Step 18:
在node12节点上执行命令:
hadoop-daemon.sh start namenode——————重新启动namenode
这里写图片描述

Step 19:
重新打开浏览器,或者刷新上面的两个网页:————你会发现node11的状态由standby变为了active,而node12节点的状态由active变为了standby,这就是借助zookeeper做到的HA版本,也就是高可用版本,当namenode的active节点宕机的时候,由副节点变为active,继续正常的工作
http://192.168.80.11:50070
http://192.168.80.12:50070
这里写图片描述

这里写图片描述

Step 20:
在node11节点上执行命令:
stop-dfs.sh————关闭HDFS
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值