centos6.8下hadoop3.1.1完全分布式安装指南(推荐)

1.前言

Apache Hadoop是由Apache基金会所开发的分布式系统基础架构。它可以让用户在不了解分布式底层细节的情况下,开发出分布式程序。Hadoop是以Google的MapReduce论文为基础所开发出的一个分布式计算框架。

本次向您介绍如何在Centos6.8下,进行Hadoop3.1.1的完全分布式安装,让您能够快速搭建好Hadoop集群。

2.环境准备

2.1.系统环境

操作系统:Centos6.8

内核版本:2.6.32-431.17.1.el6.x86_64

硬件环境:三台虚拟机,并在hosts配置文件中都添加了所有节点的IP地址和主机名映射关系,如下所示:

192.168.60.128 hadoop-master

192.168.60.129 hadoop-slave1

192.168.60.130 hadoop-slave2

2.2.Hadoop环境

版本:3.1.1

下载地址:https://hadoop.apache.org/releases.html#31+July%2C+2018%3A+Release+3.1.1+available

下载后的hadoop安装包为tar.gz格式,可以通过如下命令解压:

tar -zxvf hadoop-3.1.1.tar.gz -C /usr/local/

3.安装Java环境

由于Hadoop是Java语言写成的,所以在安装Hadoop之前需要先安装Java环境。推荐使用JDK1.8版本。

3.1.下载JDK1.8

下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

下载完毕后,通过如下命令解压:

tar -zxvf jdk-8u191-linux-x64.tar.gz -C /usr/local/

3.2.配置环境变量

在/etc/profile文件中添加如下内容:

export JAVA_HOME=/usr/local/jdk1.8.0_191

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

生效执行下列命令:

source /etc/profile

输入以下命令来检查Java是否已安装:

java -version

输出信息如下便表示安装成功:

java version "1.8.0_191"

Java(TM) SE Runtime Environment (build 1.8.0_191-b12)

Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

4.配置SSH免密登录

Hadoop是一个分布式系统框架,集群中的各台机器之间需要互相访问文件和程序,因此需要配置SSH免密登录,以方便各节点之间相互操作。

4.1.配置密钥

进入hadoop安装文件夹中的etc/hadoop文件夹中,使用以下命令生成密钥:

ssh-keygen -t rsa

按照提示一路回车即可。生成密钥后,通过以下命令将密钥传输到所有节点:

ssh-copy-id -i ~/.ssh/id_rsa.pub root@hadoop-slave1

ssh-copy-id -i ~/.ssh/id_rsa.pub root@hadoop-slave2

以上命令中的hadoop-slave1和hadoop-slave2分别为两台从节点的IP地址。

4.2.检验是否可以免密登录

在master节点通过以下命令检查是否可以免密登录:

ssh hadoop-slave1

ssh hadoop-slave2

若出现以下提示则表示免密登录正常:

Last login: Thu Jan 10 21:35:24 2019 from hadoop-master

5.配置Hadoop环境

5.1.编辑hadoop-env.sh文件

在hadoop安装文件etc/hadoop文件夹中找到hadoop-env.sh文件,将其中的JAVA_HOME修改为Java的安装路径:

export JAVA_HOME=/usr/local/jdk1.8.0_191

5.2.编辑core-site.xml文件

在hadoop安装文件etc/hadoop文件夹中找到core-site.xml文件,修改其中相关配置:

fs.defaultFS

hdfs://hadoop-master:9000

其中hadoop-master为主节点的主机名。

5.3.编辑hdfs-site.xml文件

在hadoop安装文件etc/hadoop文件夹中找到hdfs-site.xml文件,修改其中相关配置:

dfs.namenode.name.dir

/usr/local/hadoop-3.1.1/dfs/name

dfs.datanode.data.dir

/usr/local/hadoop-3.1.1/dfs/data

dfs.replication

2

其中dfs.namenode.name.dir表示HDFS命名空间的元数据所存储的位置。dfs.datanode.data.dir表示每个HDFS数据节点上block数据的存储位置,dfs.replication表示数据备份数量,一般越大越安全,但也会导致存储空间的更大占用。

5.4.编辑mapred-site.xml文件

在hadoop安装文件etc/hadoop文件夹中找到mapred-site.xml文件,修改其中相关配置:

mapreduce.framework.name

yarn

其中mapreduce.framework.name设置为yarn,表示Hadoop框架采用YARN作为资源管理器进行集群资源的管理。

5.5.编辑yarn-site.xml文件

在hadoop安装文件etc/hadoop文件夹中找到yarn-site.xml文件,修改其中相关配置:

yarn.nodemanager.aux-services

mapreduce_shuffle

yarn.resourcemanager.hostname

hadoop-master

yarn.scheduler.minimum-allocation-mb

128

yarn.scheduler.maximum-allocation-mb

512

yarn.nodemanager.resource.memory-mb

2048

yarn.nodemanager.resource.cpu-vcores

2

yarn.nodemanager.aux-services为Yarn的进程间通信机制,其值设置为mapreduce_shuffle表示采用Mapreduce的Executor服务来处理进程间通信;yarn.resourcemanager.hostname表示Master节点的主机名;yarn.scheduler.minimum-allocation-mb是指节点的最小内存限制,单位是MB;yarn.scheduler.maximum-allocation-mb是指节点的最大内存限制,单位是MB;yarn.nodemanager.resource.memory-mb是指每个NodeMananger的最大内存在安装了其他软件的情况下可以设置为1GB或更大;yarn.nodemanager.resource.cpu-vcores是指每个NodeManager可以使用的CPU核数.

6.启动Hadoop集群

进入安装文件夹中的sbin文件夹,使用以下命令启动Hadoop集群:

./start-all.sh

使用以下命令检查Hadoop进程是否启动成功:

jps

输出信息应如下所示:

8872 NodeManager

8515 ResourceManager

9353 Jps

7989 NameNode

8190 DataNode

8642 SecondaryNameNode

以上为六个进程的PID,表示Hadoop运行正常。

7.Web页面查看Hadoop集群状态

在浏览器中输入以下网址,可以查看到Hadoop集群的整体状态:

http://hadoop-master:8088/cluster

如果能够成功访问,则代表我们的Hadoop集群已经安装好,并且正在正常运行。

8.停止Hadoop集群

进入安装文件夹中的sbin文件夹,使用以下命令停止Hadoop集群:

./stop-all.sh

9.总结

本文介绍了在Centos6.8下进行Hadoop3.1.1完全分布式安装的步骤,并详细说明了各个配置文件中的各种参数的含义。通过这篇文章,读者可以快速掌握Hadoop的搭建方法,其中包括环境准备、SSH免密登录、Hadoop环境配置、集群启动和查看集群状态等,希望本文能够对读者有所帮助。

操作系统标签