Hadoop HA高可用集群搭建详细过程(亲测四台有效)

hadoop集群HA高可用搭建
❀❀❀❀❀搭建前的简单介绍❀❀❀❀❀
主机配置环境如下表:
在这里插入图片描述
Hadoop HA原理:
   在一典型的HA集群中,每个NameNode是一台独立的服务器。在任一时刻,只有一个NameNode处于active状态,另一个处于standby状态。其中,active状态的NameNode负责所有的客户端操作,standby状态的NameNode处于从属地位,维护着数据状态,随时准备切换(两种切换方式,选择手动切换和自动切换)。手动切换是通过命令实现主备之间的切换,可以用HDFS升级等场合,自动切换方案基于Zookeeper。两个NameNode为了数据同步,会通过一组称作JournalNodes的独立进程进行相互通信。当active状态的NameNode的命名空间有任何修改时,会告知大部分的JournalNodes进程。standby状态的NameNode有能力读取JNs中的变更信息,并且一直监控edit log的变化,把变化应用于自己的命名空间。standby可以确保在集群出错时,命名空间状态已经完全同步了。

HA集群的架构图
在这里插入图片描述
将四台机子node01,node02,node03,node04,按如下HA安装方案图进行集群规划。
HA安装方案图
在这里插入图片描述
*表示虚拟机要配置该角色

hadoop 2.X介绍
 Hadoop 2.x由HDFS、MapReduceYARN三个分支构成;
 HDFS:NN Federation(联邦)、HA;
 2.X:只支持2个节点HA,3.0实现了一主多从
 MapReduce:运行在YARN上的MR;
   离线计算,基于磁盘I/O计算
 YARN:资源管理系统
作用:
 a.解决HDFS 1.0中单点故障和内存受限问题。
 b.解决单点故障
   HDFS HA:通过主备NameNode解决
   如果主NameNode发生故障,则切换到备 NameNode上
 c.解决内存受限问题
   HDFS Federation(联邦)
   水平扩展,支持多个NameNode;
 (1)每个NameNode分管一部分目录;
 (2)所有NameNode共享所有DataNode存储资源

xftp和xshell介绍:
  xftp 是一个基于 MS windows 平台的功能强大的SFTP、FTP 文件传输软件。
  xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。
 本人安装了xshell5.0和Xftp-4.0。在搭建过程中,使用xshell连接4台虚拟机,进行命令操作,这样十分方便,免去了鼠标在windows和linux之间来回切换的不便性。
xftp传输文件页面如下(左右两边文件可互传):在这里插入图片描述

准备工作:
 开启node01,node02,node03,node04四台虚拟机,4台虚拟机之间可以互相访问(可ping通),root用户登录。
在这里插入图片描述
开启虚拟机出现虚拟机繁忙问题解决办法:
 当你启动虚拟机时,虚拟机卡住或者关不掉虚拟机的情况,可以试试重启一下你的计算机,如果还是无法解决的话,接下来可以win+R,输入msconfig命令,重新启动一下VMware相关的五项服务。
在这里插入图片描述
在这里插入图片描述

xshell连接上四台虚拟机,接下来的命令都在xshell中进行。
在这里插入图片描述

现在就可以动手开始搭建啦~~

一、搭建集群

1、软件安装

1.1 安装jdk

在node01上用rpm装jdk,命令如下:

-rpm -i jdk-7u67-linux-x64.rpm
-whereis java
-vi + /etc/profile
	export JAVA_HOME=/usr/bin/java
	export PATH=$PATH:$JAVA_HOME/bin
-source /etc/profile

运行图如下:
在这里插入图片描述在这里插入图片描述
👍提示:如果出现 -bash: jps: command not found
改:export JAVA_HOME=/usr/bin/java
export PATH=$PATH:/usr/java/jdk1.7.0_67/bin
修改后jps出来如下图所示,则结果正常
在这里插入图片描述
分发jdk到node02、03、04,命令如下:

-scp jdk-7u67-linux-x64.rpm node02:`pwd`
-scp jdk-7u67-linux-x64.rpm node03:`pwd`
-scp jdk-7u67-linux-x64.rpm node04:`pwd`

在node02、03、04分别安装jdk,命令如下:

-rpm -i jdk-7u67-linux-x64.rpm

在node01上cd /etc,在此目录下把profile文件分发到node02、03、04上。

scp profile node02:`pwd`

利用Xshell全部会话栏,source /etc/profile
利用Xshell全部会话栏,jps,看04、05、06这三台机子的jdk是否装好。04,05,06都像下面一样的结果即正确。
在这里插入图片描述

1.2 安装hadoop2.6.5

(这里安装的是个绿色版,解压就能用)

1.2.1 在node01上安装hadoop
`tar xf hadoop-2.6.5.tar.gz -C /opt/nj` (注:-C的C 是大写)

然后到/opt/nj目录下去看一下是否解压好了

cd /opt/nj/hadoop-2.6.5

其中sbin这个文件夹很重要,放的是系统级别的一些可执行脚本
修改hadoop配置文件信息

cd /opt/nj/hadoop-2.6.5/etc/hadoop

注:以上路径的etc可不是根目录下的etc
在这里插入图片描述
给这三个文件里的JAVA_HOME都改成绝对路径/usr/java/jdk1.7.0_67
在这里插入图片描述
修改hadoop配置文件信息
配置命令 vi core-site.xml 结果图如下:
在这里插入图片描述
配置命令 vi hdfs-site.xml 结果图如下:
在这里插入图片描述
配置slaves文件(localhost改为node01 )

格式化hdfs(只能格式化一次,再次启动集群不要执行,否则clusterID变了)
在这里插入图片描述
在这里插入图片描述
当像运行结果图中显示successfully,即成功
(之前/var/nj/hadoop/pseudo这个文件不存在,格式化后就存在了,要记得检查一下看存在没)

接下来启动集群
start-dfs.sh,并用jps验证下都有哪些进程启动起来了。
在这里插入图片描述
在浏览器里打开node01:50070(☺别用360浏览器哦!推荐firefox),如下图:
在这里插入图片描述
try
创建目录hdfs dfs -mkdir -p /user/root
更新网页,可以在utilities下的browse directory中发现创建成功的目录。
在这里插入图片描述
上传文件命令: hdfs dfs -put a.txt /user/root
在这里插入图片描述
🎨hadoop的log查法:
cd到hadoop-2.6.5(我用的Hadoop版本)
ll查看
在这里插入图片描述
可以进一步查看logs里面的东西:
在这里插入图片描述
完成后关闭集群
在这里插入图片描述

1.2.2 修改namenode的一些配置信息,分发到node02、03、04

A.vi hdfs-site.xml
去掉snn的配置

 <property>
              <name>dfs.namenode.secondary.http-address</name>
          	  <value>node0
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值