当前位置:   article > 正文

hadoop高可用安装(HA)_头歌 hadoop 高可用(ha)

头歌 hadoop 高可用(ha)

写在开头

本文配置前提是hadoop伪分布安装已完成。
hadoop高可用傻瓜式安装(傻瓜到大部分细节)
某高校作业完成

我们先介绍下高可用的hadoop一般需要什么?

高可用的hadoop一般需要开启四台linux虚拟机,需要用7个节点做hadoop的HA。
其中3台做zookeeper集群,三台做journalnode集群,2台做失败切换zkfc,2台做namenode,三台做datanode,2台reourcemanage,3台nodemanager
所以这四台虚拟机是拥有多个功能的。
在这里插入图片描述
为了方便操作,可以视情况下载xshell软件,可以直接与虚拟机直连进行操作

于是我们这里建立四个linux虚拟机,分别命名为node01node02node03node04(在hadoop伪分布安装中已经解决)


安装步骤

1.分发JDK

在伪分布安装中,四台虚拟机的初步搭建已经完成。我们首先将node01中的jdk分发给另外三台。

//是 ` 符号,不是 ' 符号。是横向数字键1左边的按键
scp jdk-7u67-linux-x64.rpm node02:`pwd`
scp jdk-7u67-linux-x64.rpm node03:`pwd`
scp jdk-7u67-linux-x64.rpm node04:`pwd`
  • 1
  • 2
  • 3
  • 4

然后我们在每台虚拟机下输入命令 ll(小写L),查看自己所有虚拟机的路径下是否有jdk文件。成功图片如下:
在这里插入图片描述
如果安装了xshell,可以点击软件右下角的三横杠
在这里插入图片描述
点击全部会话,然后直接在下边的命令栏输入ll,就能让所有机子执行命令
在这里插入图片描述
在这里插入图片描述

1.1 安装jdk

分别在node02、03、04上执行rpm安装命令

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

在node01上输入指令

cd /etc
  • 1

在此目录下把profile文件分发到node02、03、04上。

scp profile node04:`pwd`
  • 1

利用Xshell全部会话栏,或者进入每台机子输入指令,刷新文件

source /etc/profile
  • 1

利用Xshell全部会话栏,或者进入每台机子输入指令

jps
  • 1

看02、03、04这三台机子的jdk是否装好。
成功图片如下:
在这里插入图片描述

2.同步时间

利用Xshell全部会话栏,或者进入每台机子输入指令

date
  • 1

来查看每台机子的当前时间,如果机子之间时间差过大,会导致集群某些进程跑不起来。
如果时间不同步,那么就利用指令进行时间同步。
首先利用Xshell全部会话栏,或者进入每台机子输入指令

yum -y install ntp
  • 1

进行时间同步器的安装。然后每台执行同步命令

ntpdate time1.aliyun.com
  • 1

这串代码是为了和阿里云服务器进行时间同步。

3.装机前的配置文件检查

利用Xshell全部会话栏,或者进入每台机子输入指令

cat /etc/sysconfig/network
  • 1

查看HOSTNAME是否正确。
利用Xshell全部会话栏,或者进入每台机子输入指令

cat /etc/hosts
  • 1

查看IP映射是否正确,若不正确,可以修改文件。
成功图片:
在这里插入图片描述
利用Xshell全部会话栏,或者进入每台机子输入指令

cat /etc/sysconfig/selinux
  • 1

检查你的SELINUX=disabled是否修改。
利用Xshell全部会话栏,或者进入每台机子输入指令

service iptables status
  • 1

查看防火墙是否关闭。
成功图片如下:

在这里插入图片描述

4.NN与其他三台机子的免秘钥设置

1.在家目录下执行指令

 ll  -a
  • 1

看下有无 .ssh 文件,如果没有就输入指令

ssh localhost
  • 1

切记!ssh localhost后一定要记得输入指令 exit,因为ssh后进入的node0X不是你输入命令的node0X,是两个东西。
家目录是输入指令 cd 即可,即当你在[node02 ~]时,便是在家目录下。

图示如下:
在这里插入图片描述
2.当你执行完毕后,拥有.ssh文件,再输入指令

cd .ssh
//再输入指令
ll
  • 1
  • 2
  • 3

在这里插入图片描述
3.其中会有许多文件,我们将node01的公钥发给其他三台机子

scp id_dsa.pub node02:`pwd`/node01.pub
scp id_dsa.pub node03:`pwd`/node01.pub
scp id_dsa.pub node04:`pwd`/node01.pub
  • 1
  • 2
  • 3

原理图如下:
在这里插入图片描述

如果node02,node03,node04上没有 .ssh 文件,记得 ssh localhost 同时不要忘记exit

4.在node02的.ssh目录下,我们就能看到node01.pub,我们再将这个公钥追加到authorized_keys

cat node01.pub >> authorized_keys
  • 1

并且在node01上ssh node02看是否免秘钥了,记住随后要exit
试验成功后就给node05,node06都追加一下node01.pub

5.两个NN间互相免秘钥

1.node01与node02互相免秘钥:现在node01可秘钥登录node02,那现在node02上能免秘钥登录node01,所以在node02上

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
  • 1
  • 2

然后ssh localhost试验一下。
再分发到node01上:

scp  id_dsa.pub   node01:`pwd`/node02.pub
  • 1

在node01的.ssh目录下

cat node02.pub >> authorized_keys
  • 1

最后在node02上验证是否可以免秘钥登录node01

6.修改namenode的一些配置信息

我们先去node01修改。
我们首先进入在伪分布安装中所布置的hdfs.xml文件。文件夹指令为

cd /opt/ldy/hadoop-
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/589245
    推荐阅读
    相关标签
      

    闽ICP备14008679号