Hadoop 2.7.2 HA 自动切换高可用集群配置详解

本文详细介绍了如何配置Hadoop 2.7.2的高可用(HA)集群,包括集群节点规划、软件安装、Linux环境配置、SSH免密登录、JDK安装、Zookeeper集群搭建、Hadoop配置修改以及集群启动和停止的步骤。通过Zookeeper监控NameNode状态,实现自动切换,确保集群的高可用性。
摘要由CSDN通过智能技术生成


1、集群节点规划

       
NameNode node1 node2  
DataNode node1 node2 node3
JournalNode node1 node2 node3
zookeeper node1 node2 node3






node1:172.16.73.143

node2:172.16.73.43

node3:172.16.73.211

1.1 各节点安装软件目录规划:

   
JDK 目录  /opt/package/jdk1.7.0_76
hadoop /opt/package/hadoop-2.7.2
zookeeper /opt/package/zookeeper-3.4.10

1.2 各节点临时目录规划

   
hadoop临时目录 /opt/data/hadoop_tmp_dir
journalNode 临时目录 /opt/data/journal_tmp_dir
zookeeper临时目录 /opt/package/zookeeper-3.4.10/dataLogDir
/opt/package/zookeeper-3.4.10/dataDir
   

1.3 相关软件

JDK 1.7.0_76

Hadoop:2.7.2

zookeeper: 3.4.10


2.配置Linux环境


推荐使用root用户登录linux

2.0.1 确保各个节点可以互相ping通

如果使用虚拟,确保是桥接方式,以便虚拟机里各个主机可以ping通


2.0.2 配置hostname

vi /etc/sysconfig/network

HOSTNAME=<主机名>


2.0.3 配置/etc/hosts

需要把集群内各个节点的映射都写进来
172.16.73.143  node1
172.16.73.43    node2
172.16.73.211  node3

例如下面是node3这个节点的/etc/hosts配置,如果集群里有多个节点,每个节点的hosts文件都要列出所有节点的映射关系



2.0.4 关闭防火墙

暂时关闭防火墙 
service iptables stop

永久关闭防火墙 
chkconfig iptables off


查看防火墙自动运行状态 
chkconfig --list|grep iptables

关闭linux 安全策略 selinux 
vim /etc/sysconfig/selinux
SELINUX=disabled


2.0.5 配置ssh免密码登录

确保在集群内的所有节点都可以互相免密码登录,并且可以免密码登录到自身

检查ssh服务是否正常运行
service sshd status
openssh-daemon (pid  1850) is running...
以上提示表示正常


如果要实现从主机A上免SSH密码登录到主机B,操作如下
在A上:
产生自己的公钥和私钥
ssh-keygen   -t  rsa


把自己的私钥放到远程的主机上,有3种方法:

方法1:
ssh-copy-id   -i     username@hostname
方法2:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2

方法3:

ssh-copy-id -i  hostname


如果想要实现双向免密码登录操作方法是相同的.
在一些情况下应用程序需要登录到当前自己所在的主机,叫做登录到自身主机,例如当前主机是node2,这样操作
ssh-copy-id -i ~/.ssh/id_rsa.pub node2


2.0.6 安装JDK

jdk 安装在 /opt/package/jdk1.7.0_76
修改/etc/profile,加入以下内容

export JAVA_HOME=/opt/package/jdk1.7.0_76
export HADOOP_HOME=/opt/package/hadoop-2.7.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

保存退出后执行
source /etc/profile


2.0.7  同步各个节点的时间 


2.1 搭建zookeeper集群

zookeeper在NameNode所在的节点上运行一个FailoverContriler,它会监控NameNode的运行状态,如果一个是active一个是standby没有问题,如果NameNdoe的状态发生了变化,比如宕机zookeeper集群就能感知到这个集群的变化。集群通过FailoverContriler把相应的NameNode的状态改成active,实现自动切换。


2.1.1 解压zookeeper安装包

在node1上解压zookeeper安装包,产生zookeeper-3.4.10目录,把conf/zoo_sample.cfg重命名为zoo.cfg

并且创建两个目录dataDir和dataLogDir

修改配置文件conf/zoo.cfg

    (1) 
     dataDar = /opt/package/zookeeper-3.4.10/dataDir
     dataLogDir=/opt/package/zookeeper-3.4.10/dataLogDir


    (2)增加以下内容
       server.1=node1:2888:3888
       server.2=node2:2888:3888
       server.3=node3:2888:3888
    创建目录mkdir zookeeper/data
    写入文件echo 1 >zookeeper/data/myid



2.2 修改Hadoop相关配置文件(hadoop-env.sh、core-site.xml、hdfs-site.xml、slaves)

在在node1上操作


2.2.1  hadoop-env.sh

export JAVA_HOME=/opt/package

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值