基于HA的Hadoop2.7.1完全分布式集群搭建

本文的前提是假设你已经成功安装一台服务器的Hadoop伪分布式,因此有些细节没有具体给出解释()。
参考文章:
首先截图看下完成后能通过web访问的hadoop框架的样子

namenode1


namendoe2


datanode

一、节点的分布

Hadoop


可以看到这个集群有5台服务器,我本人是在VMware虚拟机中装的2台Ubuntu14.04和3台CentOS7,由这五台虚拟服务器来进行完全的分布式的集群hadoop搭建。(当然,可以根据自己的需求或者是意愿来选着linux系统和服务器台数,推荐这样建立集群:在一台虚拟服务器上把zookeeper和hadoop以及JDK等的环境配置好后,通过VMware虚拟机的克隆功能来复制剩下的若干台,这样会节省重复的时间,最后是修改各自的ip和hostname。)

下面关于Hadoop的文章您也可能喜欢,不妨看看:

Ubuntu14.04下Hadoop2.4.1单机/伪分布式安装配置教程 

CentOS安装和配置Hadoop2.2.0 

CentOS 6.3下Hadoop伪分布式平台搭建 

Ubuntu 14.04 LTS下安装Hadoop 1.2.1(伪分布模式)

Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

实战CentOS系统部署Hadoop集群服务

单机版搭建Hadoop环境图文教程详解

Hadoop 2.6.0 HA高可用集群配置详解 

Spark 1.5、Hadoop 2.7 集群环境搭建 

二、JDK和Hadoop的下载安装

linux系统的java jdk和hadoop的解压和安装,可以百度,或者谷歌,本文省略,不过有一点需要提下,注意linux和hadoop的版本的匹配,hadoop的官网的2.5版本和之前的都是32位的,之后的是64位的(查看hadoop版本:进入hadoop-2.x.x/lib/native中输入如下命令:file libhadoop.so.1.0.0即可查看是32位的还是64位的,如果版本和系统不匹配,则需要下载源码进行编译,不过话说回来,随着内存的扩大,现在一般系统都选择64位的。)

三、hadoop的HA的搭建

1、zookeeper的下载
在zookeeper的官网下在3.4.6的最新稳定版本。
2、linux前期准备
在搭建之前,介绍下linux的下的ssh免密码登录,和防火墙的关闭,
Ubuntu 的防火墙:ufw disable
centOS的防火墙:centOS7是 systemctl stop firewalld.service(之前的是iptables,笔者刚搭建的时候没注意到,后面MapReduce各种连接错误,都快崩溃了,希望少走弯路,保持学习的热情。)
ssh 的免密码登录:在node1上:
①没有ssh安装ssh,可以如下命令,如果linux提示错误,按照提示的错误,更新下出错的那个版本在安装sshserver即可。
$ sudo apt-get install ssh

$ sudo apt-get install rsync

②生成公钥和私钥

$ ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa

$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
之后可以在node1用ssh localhost登录,发现不用输入密码了。
(补充一点,在每台linux上把每台主机的主机名依次修改位node1到node5,/etc/hostname中)
③ 把node1的公钥拷贝到node2~node5中,实现node1到其他服务器的ssh无密码登录。
scp -r ~/.ssh/authorized_keys root@node2:~/.ssh/
把node2依次改为node3到node5,即可。
在node1中登录node2:ssh node2,发现不需要密码就登录了(第一次登录提示yes or no ?输入yes即可),主机名为node2了,输入exit即可退出回到node1的界面,再登录node3到node5即可。
3、zookeeper集群搭建(可以参考zookeeper的官网)
把zookeeper中conf目录下的
zoo_sample.cfg复制一封改为:zoo.cfg,文件中添加如下内容:
dataDir=/opt/zookeeper
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
最后在node1的服务器的/opt/zookeeper目录下建立myid文件,内容为1;同理node2为2;node3为3。
在node1上进入到zookeeper的bin目录下,输入./zkServer.sh start
同理node2;
同理node3;
再在node1到node3的bin目录下,输入./zkServer.sh status
看到如下内容表示你已成功:
JMX enabled by default
Using config: /usr/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
如上zookeeper集群已经搭建完成。

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

转载注明出处:https://www.heiqu.com/274e6f5c233024eb88b8a1503f660fed.html