Hadoop HA(高可用)环境的搭建

Hadoop HA(高可用)环境的搭建

集群描述:

集群中有两个NameNode,两个ResourceManager。实现了NameNode的HA方案以及ResourceManager单点故障的解决。

Hadoop的HA介绍:

hadoop2中的NameNode有两个。每一个都有相同的职能。一个是active状态的,一个是standby状态的。当集群运行时,只有active状态的NameNode是正常工作的,standby状态的NameNode是处于待命状态的,时刻同步active状态NameNode的数据。一旦active状态的NameNode不能工作,通过手工或者自动切换,standby状态的NameNode就可以转变为active状态的,就可以继续工作了。这就是高可靠。

Linux环境准备: VMware Workstation 12 PRO上CentOS 7 Minimal版安装配置  网络配置:使用桥接方式 1.设置固定IP地址和关闭防火墙

虚拟机中必须添加如下配置: (必须和宿主机在同一网段)

在vmware的【编辑】-->【虚拟网络编辑器】设置:将网络连接方式设置为“桥接”,并桥接到宿主机器的网卡(可以是有线或者无线网络)。

设置静态IP地址:

vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 ("eno16777736"这部分名字在不同版本中可能不一样)

修改(添加)如下内容:

BOOTPROTO="static"#dhcp改为static ONBOOT="yes"#开机启用本配置 IPADDR=192.168.1.181#静态IP GATEWAY=192.168.1.1 #默认网关 NETMASK=255.255.255.0 #子网掩码 DNS1=192.168.1.1#DNS 配置

总体示例:

cat /etc/sysconfig/network-scripts/ifcfg-eno16777736 HWADDR="00:15:5D:07:F1:02" TYPE="Ethernet" BOOTPROTO="static" #dhcp改为static DEFROUTE="yes" PEERDNS="yes" PEERROUTES="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_PEERDNS="yes" IPV6_PEERROUTES="yes" IPV6_FAILURE_FATAL="no" UUID="bb3a302d-dc46-461a-881e-d46cafd0eb71" ONBOOT="yes" #开机启用本配置 IPADDR=192.168.1.181 #静态IP GATEWAY=192.168.1.1 #默认网关 NETMASK=255.255.255.0 #子网掩码 DNS1=192.168.1.1 #DNS 配置

修改每台主机的主机名:

vi /etc/sysconfig/network

添加如下内容:

HOSTNAME=master01 //master02,master03........

设置IP绑定:

vi /etc/hosts master01 192.168.1.181 master02 192.168.1.182 master03 192.168.1.186 master04 192.168.1.187 slave01 192.168.1.183 slave02 192.168.1.184 slave03 192.168.1.185

重启网卡:

service network restart

centos7中mini安装的防火墙默认为firewalld:

systemctl stop firewalld systemctl mask firewalld

安装iptables-services并关闭防火墙:

yum install iptables-services service iptables stop chkconfig iptables off #关闭防火墙开机启动 service ip6tables stop chkconfig ip6tables off

关闭selinux:

vi /etc/sysconfig/selinux SELINUX=enforcing -> SELINUX=disabled setenforce 0 getenforce 2. 添加hadoop用户

添加用户组:

root登录条件下: groupadd hadoop

添加用户并分配用户组:

useradd -g hadoop hadoop

修改密码:

passwd hadoop 3. SSH开机免密码登录:

安装ssh:

yum intsall openssh-server

首先是root用户免密码登录:

root用户登陆后在每台主机上面使用命令:

ssh-keygen -t rsa cd /root/.ssh/

里面有两个文件:

id_rsa.pub id_rsa

在master01主机上面:

mv id_rsa.pub authorized_keys

然后把所有主机里面的id_rsa.pub内容全部保存到这个authorized_keys后把authorized_keys复制到各个节点上。

Hadoop用户ssh免密码登录同root用户:

注意:这时id_rsa.pub id_rsa的目录为你hadoop用户下的.ssh目录 4. 安装所需的软件

所用的软件环境配置示例:

export JAVA_HOME=/usr/local/software/jdk1.8.0_66 export HADOOP_HOME=/usr/local/software/hadoop-2.7.0 export ZOOKEEPER_HOME=/usr/local/software/zookeeper-3.4.6/bin export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin

然后使环境配置生效:

source /etc/profile 5. Hadoop HA实现

Hadoop HA配置文件: // 总共5个:

hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml

hadoop-env.sh:

export JAVA_HOME=/usr/local/software/jdk1.8.0_66

core-site.xml:

<property> <name>fs.defaultFS</name> <value>hdfs://cluster</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/software/hadoop-2.7.0/tmp</value> </property> <property> <name>ha.zookeeper.quorum</name <value>slave01:2181,slave02:2181,slave03:2181</value> </property>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6ebfe25019d78b1748d92ada0788a5b8.html