hadoop高可用搭建以及问题解决方案

本文详细介绍了如何搭建Hadoop高可用集群,包括四台服务器规划、JDK安装、时间同步、配置检查、免密钥设置、Zookeeper安装及启动,以及在遇到启动问题时的解决方法。在搭建过程中,强调了重要步骤和可能遇到的问题,例如通过Zookeeper进行NameNode的自动切换,以及JournalNode在数据同步中的作用。最后,文章还涉及了MapReduce的准备和WordCount示例运行。
摘要由CSDN通过智能技术生成

**
根据安装步骤一步一步仔仔细细做下来,基本上不会遇到问题。
我整个做下来,在启动zookeeper的时候node03无法启动,最终通过重新克隆虚拟机node05代替node03解决这个问题,后面这个错误有详细的解决方法
还有一些问题去hadoop logs里看看
路径:cd /opt/sym/hadoop-2.6.5/logs
打开:tail -100 文件名
修改hdfs-site.xml这种比较长的
可以通过xftp 把xml文件传到桌面,然后用edit with notepad++打开编辑,更方便检查修改,完成后把xml 文件传回相应的位置

**

Hadoop HA原理

为了防止单点故障(对于只有一个NameNode的集群,如果NameNode机器出现意外情况,比如机器挂掉了,或者节点软件或硬件的升级,将导致整个集群无法使用)采用高可用模式
很多台 DataNode向NameNode汇报数据(比如block块发生什么变化,时间发生什么变化…)
有两台NameNode,一个处于active状态,另一个处于standby状态。在任一时刻,只有一个NameNode处于active状态,另一个处于standby状态。standby可以确保在集群出错时,命名空间状态已经完全同步了。
Active NameNode对外提供服务,比如处理来自客户端的RPC请求,而Standby NameNode仅同步Active NameNode的状态,以便能够在它失败时快速进行切换。
在这里插入图片描述
JournalNode管理2台NameNode数据交换,控制NameNode数据同步。
如果发现一台有问题,就切换active,当active状态的NameNode的命名空间有任何修改时,会告知大部分的JournalNode进程。standby状态的NameNode有能力读取JN中的变更信息,并且一直监控edit log的变化,把变化应用于自己的命名空间。

而JournalNode是手动切换的,下面讲的ZooKeeper是自动切换(集群里都是用zookeeper自动切换)。
ZooKeeper 有两个进程监视器ZooKeeper Failover Controller(ZKFC),每一台NameNode都有一台ZKFC监视它,当ZKFC监视的NameNode挂掉了,马上汇报给ZooKeeper,ZooKeeper查看另一台是Standby状态,赶快把Standby状态显示active,让它顶上去起作用。

1.四台服务器集群规划

在这里插入图片描述

2.分发jkd到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

并在Xshell的全部会话栏里一起ll,看jdk是否发送成功。
*注意:` 这一符号是数字1左边这个键
在这里插入图片描述
cd ll 一下看看jdk有没有发好
在这里插入图片描述

3.给node02、03、04分别安装jdk

  1. 分别在node02、03、04上执行rpm安装命令
    -rpm -i jdk-7u67-linux-x64.rpm
    在这里插入图片描述
  2. 在node01上cd /etc,在此目录下把profile文件分发到node02、03、04上。
    -scp profile node04:pwd
    在这里插入图片描述
  3. 利用Xshell全部会话栏,source /etc/profile
  4. 利用Xshell全部会话栏,jps,看02、03、04这三台机子的jdk是否装好。
    在这里插入图片描述

4.同步所有服务器的时间

  1. -date 查看机子当前的时间。
    (4台都看一下)
    在这里插入图片描述
    若时间不同步:
  2. yum进行时间同步器的安装
    -yum -y install ntp
    在这里插入图片描述
  3. 执行同步命令
    -ntpdate time1.aliyun.com 和阿里云服务器时间同步
    在这里插入图片描述

5 .装机之前的配置文件检查

(1)查看HOSTNAME是否正确

-cat /etc/sysconfig/network
在这里插入图片描述

(2)查看IP映射是否正确

-cat /etc/hosts
在这里插入图片描述
若不正确,可以改文件,也可以把node01上的用scp分发过去。

(3)检查SELINUX=disabled

-cat /etc/sysconfig/selinux里是否
SELINUX=disabled
在这里插入图片描述

(4)查看防火墙是否关闭

service iptables status
在这里插入图片描述

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

  1. 在家目录下 ll –a看下有无.ssh文件,如果没有就ssh loalhost一下(ssh localhost后不要忘记exit)。
    在这里插入图片描述
  2. -cd .ssh ,并ll查看一下
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值