Hadoop HA

第一节:HADOOP HA概述

1.1 背景

​ 在Hadoop 2.0.0之前,NameNode是HDFS集群中的单点故障(SPOF)。每个群集都有一个NameNode,如果该机器或进程不可用,整个群集将不可用,直到NameNode重新启动或在单独的计算机上启动为止。这在两个主要方面影响了HDFS集群的总体可用性:

  • 在计划外事件(例如机器崩溃)的情况下,直到操作员重新启动NameNode后,群集才可用。

  • 计划的维护事件(如NameNode计算机上的软件或硬件升级)将导致群集停机时间窗口。

HDFS高可用性功能通过提供在具有热备用的主动/被动配置中的同一群集中运行两个(以及3.0.0多于两个)冗余NameNode的选项来解决上述问题。这允许在计算机崩溃的情况下快速故障转移到新的NameNode,或者为计划维护目的而进行正常的管理员启动的故障转移。

1.2 HA(High Available)概念

  • hadoop-HA集群运作机制介绍

    所谓HA,即高可用(7*24小时不中断服务)(secondarynamenode只是保证了“可靠性”)实现高可用最关键的是消除单点故障,hadoop-ha严格来说应该分成各个组件的HA机制——HDFS的HA、YARN的HA。

  • HDFS的HA机制详解

    通过双namenode消除单点故障,双namenode协调工作的要点:

    • 元数据管理方式需要改变

    • 需要一个状态管理功能模块

第二节 HA集群配置

2.1 基础配置

  • 创建7台机器,设置静态ip分别如下:

    机器名 ip
    CentOs6.4_min_java_hadoop_ha1 192.168.18.171
    CentOs6.4_min_java_hadoop_ha2 192.168.18.172
    CentOs6.4_min_java_hadoop_ha3 192.168.18.173
    CentOs6.4_min_java_hadoop_ha4 192.168.18.174
    CentOs6.4_min_java_hadoop_ha5 192.168.18.175
    CentOs6.4_min_java_hadoop_ha6 192.168.18.176
    CentOs6.4_min_java_hadoop_ha7 192.168.18.177
  • 设置每台机器的hostname

    vi /etc/sysconfig/network    #编辑network文件,修改内容如下

        NETWORKING=yes

        HOSTNAME=ha1

      #分别在7台机器上执行上述命令,使得各台机器的hostname对应关系如下:

      

    | 机器名                        | hostname |

    | ----------------------------- | -------- |

    | CentOs6.4_min_java_hadoop_ha1 | ha1      |

    | CentOs6.4_min_java_hadoop_ha2 | ha2      |

    | CentOs6.4_min_java_hadoop_ha3 | ha3      |

    | CentOs6.4_min_java_hadoop_ha4 | ha4      |

    | CentOs6.4_min_java_hadoop_ha5 | ha5      |

    | CentOs6.4_min_java_hadoop_ha6 | ha6      |

    | CentOs6.4_min_java_hadoop_ha7 | ha7      |

  • 修改各个机器的主机名和ip的映射(修改每台机器的hosts文件)

    vi /etc/hosts   #为hosts文件添加如下内容

          192.168.18.171 ha1

        192.168.18.172 ha2

        192.168.18.173 ha3

        192.168.18.174 ha4

        192.168.18.175 ha5

        192.168.18.176 ha6 

        192.168.18.177 ha7

  • 为每台机器创建一个名为hadoop的用户

    useradd hadoop #添加hadoop用户

    passwd hadoop   #给hadoop用户 设置密码

  • 为每台机器的hadoop用户配置sudo权限

    vi /etc/sudoers   #使用root用户编辑 添加如下内容:

        hadoopALL=(ALL) ALL

  • 关闭每台机器的防火墙

    #查看防火墙状态

    serviceitables status

      #关闭防火墙

    serviceiptables stop

      #查看防火墙开机启动状态

    chkconfigiptables --list

      #关闭防火墙开机启动

    chkconfigiptables off

  • 每台机器安装JDK

    #创建文件夹

    mkdir /home/hadoop/develop_env

    #解压

    tar-zxvf jdk-7u55-linux-i586.tar.gz -C /home/hadoop/develop_env

  vim/etc/profile    #将java添加到环境变量中在文件最后添加

      exportJAVA_HOME=/home/hadoop/develop_env/jdk1.7.0_65

      exportPATH=PATH:JAVA_HOME/bin

​  #刷新配置

  source/etc/profile

2.2 hadoop配置

  • 集群规划

    主机名 安装的软件 运行的进程
    ha1 hadoop NameNode、DFSZKFailoverController(zkfc)
    ha2 hadoop
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值