虚拟机上的Hadoop伪分布式和完全分布式的搭建

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

一、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架构概述
  1. ResourceManager(RM)主要作用如下:
    (1)处理客户端请求
    (2)监控NodeManager
    (3)启动或监控ApplicationMaster
    (4)资源的分配与调度
  2. NodeManger(NM)主要作用如下:
    (1)管理单个节点上的资源
    (2)处理来自ResourceManager的命令
    (3)处理来自ApplicationMaster的命令
  3. ApplicationMaster(AM)作用如下:
    (1)负责数据的切分
    (2)为应用程序申请资源并分配给内部的任务。
    (3)任务的监控与容错。
  4. 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与主机名的映射.
  1. 修改主机名
 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
  1. 关闭防火墙
    查看防火墙状态:
service iptables status

临时关闭防火墙:

service iptables stop

开机时关闭防火墙:

chkconfig iptables off
  1. 创建Linux用户
    这里添加了名为 fseast 的新用户:
useradd fseast
passwd fseast
  1. 配置Linux用户具有root权限
    对/etc/sudoers文件添加:
fseast ALL=(ALL)       NOPASSWD:ALL

NOPASSWD是普通用户sudo的时候不需要密码。
接下来的操作都将使用fseast用户操作

  1. 创建文件夹
    在/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

  1. 安装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/

  1. 上传安装包到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包、文档、和官方案例

  1. 将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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值