目录
一、Hadoop
1.Hadoop的组成
简单了解一下Hadoop2.x时代的组成:
HDFS 负责数据存储
Yarn 负责资源调度
MapReduce 负责计算
Common 辅助工具
1.1HDFS架构概述
HDFS(Hadoop Distributed File System)
(1)NameNode (nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的快列表和块所在的DataNode等。
(2)DataNode (dn):在本地文件系统存储文件块数据,以及块数据的校验和。
(3)Secondary NameNode (2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
1.2YARN架构概述
- ResourceManager(RM)主要作用如下:
(1)处理客户端请求
(2)监控NodeManager
(3)启动或监控ApplicationMaster
(4)资源的分配与调度 - NodeManger(NM)主要作用如下:
(1)管理单个节点上的资源
(2)处理来自ResourceManager的命令
(3)处理来自ApplicationMaster的命令 - ApplicationMaster(AM)作用如下:
(1)负责数据的切分
(2)为应用程序申请资源并分配给内部的任务。
(3)任务的监控与容错。 - Container
Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、CPU、磁盘、网络等。

1.3MapReduce架构概述
MapReduce 将计算过程分为两个阶段:Map和Reduce:
(1)Map阶段并行处理输入数据。
(2)Reduce阶段对Map结果进行汇总
二、Hadoop的搭建
1.运行环境
前期准备这一部分看需求进行配置
修改 vim /etc/udev/rules.d/70-persistent-net.rules , 拷贝mac地址
修改 vim /etc/sysconfig/network-scripts/ifcfg-eth0 , 修改mac地址以及IP地址
修改 vim /etc/sysconfig/network 修改主机名
修改 vim /etc/hosts ,配置 IP与主机名的映射.
- 修改主机名
vim /etc/sysconfig/network
配置IP与主机名的映射:
vim /etc/hosts
添加如下内容:
192.168.17.101 hadoop101
192.168.17.102 hadoop102
192.168.17.103 hadoop103
192.168.17.104 hadoop104
- 关闭防火墙
查看防火墙状态:
service iptables status
临时关闭防火墙:
service iptables stop
开机时关闭防火墙:
chkconfig iptables off
- 创建Linux用户
这里添加了名为 fseast 的新用户:
useradd fseast
passwd fseast
- 配置Linux用户具有root权限
对/etc/sudoers文件添加:
fseast ALL=(ALL) NOPASSWD:ALL
NOPASSWD是普通用户sudo的时候不需要密码。
接下来的操作都将使用fseast用户操作
- 创建文件夹
在/opt下创建 software 和 module 两个目录,一个存放软件包,一个放解压后的文件。(使用fseast用户创建要使用sudo)
改变这两个目录所有者:
chown fseast:fseast 目录
关闭图形化界面:
修改 /etc/inittab
id:3:initdefault:
1.1安装JDK
这里使用的Linux版本是Centos6.8,
JDK版本是1.8,
Hadoop版本是2.7.2
- 安装JDK
先把软件包上传到software 目录
解压:
tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/
配置环境变量:
在/etc/profile文件加上:
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
使其生效:
source /etc/profile
测试jdk是否安装成功:
java -version
1.2安装Hadoop
Hadoop下载地址:
https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/
- 上传安装包到software,解压:
tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/
解压后查看目录结构:

(1)bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本
(2)etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
(3)lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
(4)sbin目录:存放启动或停止Hadoop相关服务的脚本
(5)share目录:存放Hadoop的依赖jar包、文档、和官方案例
- 将Hadoop添加到环境变量:
在/etc/profile文件添加:
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使其生效:
source /etc/profile
测试是否安装成功:
hadoop version
2.伪分布式运行模式
2.1配置文件说明
Hadoop配置文件分为两类:默认配置文件和自定义配置文件,只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值。
(1)默认配置文件:

(2)自定义配置文件:
core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml四个配置文件存放在$HADOOP_HOME/etc/hadoop这个路径上,用户可以根据项目需求重新进行修改配置。
2.2启动HDFS并运行MapReduce程序
(1). 修改配置文件:
进入/opt/module/hadoop-2.7.2/etc/hadoop 目录
(a)配置:hadoop-env.sh
修改改配置文件的JAVA_HOME路径(其实单台节点不配JAVA_HOME也可以读的到该变量):
export JAVA_HOME=/opt/module/jdk1.8.0_144
(b)配置:core-site.xml
<configuration>
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop101:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
</configuration>
(c)配置:hdfs-site.xml
<configuration>
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

本文详细介绍了Hadoop2.x环境下HDFS、YARN和MapReduce的搭建流程,包括运行环境配置、伪分布式和完全分布式模式的启动、配置文件详解及集群管理。

1055

被折叠的 条评论
为什么被折叠?



