栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

hadoop3.x教程(一)

hadoop3.x教程(一)

1、Hadoop概述 1.1、Hadoop优点

高可靠性:Hadoop底层维护多个数据副本,即使Hadoop某个计算元素或存储出现故障也不会导致数据的流失。高扩展性:在集群分配任务数据,可方便地扩展节点。高效性:在MapReduce的思想下,Hadoop是并行工作的,加快任务处理速度高容错性:能够自动将失败的任务重新分配 1.2、Hadoop3.x组成

Hadoop3.x组成和2.x没有区别,内置组件分别有MapReduce(计算),Yarn(资源调度),HDFS(数据存储),Common(辅助工具)四种 1.3、HDFS架构概述

HDFS(Hadoop Distributed File System),是一个分布式文件系统
内置三种组件,NameNode,DataNode,SecondaryNameNode

    NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个文件的块列表和块所在的DataNode等DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和SecondaryNameNode(2nn):每隔一段时间对NameNode元数据备份
1.3、YARN架构概述

YARN(Yet Another Resource Negotiator),是Hadoop的资源管理器
内置四种组件,ResourceManager(RM),NodeManager(NM),ApplicationMaster(AM),Container

    ResourceManager:集群的领导者NodeManager:单个节点的领导者ApplicationMaster:单个任务运行的老大Container:容器,相当一台独立的服务器,里面封装了任务运行所需要的资源客户端可以有多个,集群上可以运行多个ApplicationMaster,每个NodeManager上可以有多个Container
1.4、MapReduce架构概述

MapReduce将计算过程分为两个阶段:Map和Reduce

    Map阶段并行处理输入数据Reduce阶段对Map结果进行汇总
1.5、HDFS、YARN、MapReduce三者关系
    client向集群提交一个任务client提交完任务后,YARN中的ResourceManager寻找节点,开启一个Container,然后把任务放到Container中,任务叫AppMstr,AppMstr向ResourceManager申请任务开启所需资源。ResourceManager寻找那些节点有资源,AppMstr开启MapTask,每一个MapTask独立运行,最终把结果汇总写入HDFS上
2、Hadoop运行环境搭建 2.1、修改虚拟机IP地址
    修改网络IP地址为静态地址,避免变化,方便节点服务器间的相互通信
vim /etc/sysconfig/network-scripts/ifcfg-ens33
    修改下列值
TYPE="Ethernet"    #网络类型(通常是Ethemet)
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"   #IP的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"   
UUID="e83804c1-3257-4584-81bb-660665ac22f6"   #随机id
DEVICE="ens33"   #接口名(设备,网卡)
ONBOOT="yes"   #系统启动的时候网络接口是否有效(yes/no)
#IP地址
IPADDR=192.168.10.100  
#网关  
GATEWAY=192.168.10.2      
#域名解析器
DNS1=192.168.10.2

    修改完成后保存退出,并重启网络服务
systemctl restart network
    重启完成后ifconfig查询当前IP是否修改成功保证Linux系统ifcfg-ens33文件中IP地址、虚拟网络编辑器地址和Windows系统VM8网络IP地址相同
2.2、配置虚拟机
    修改主机名称
vim /etc/hostname
hadoop100
    配置linux克隆主机名称映射hosts文件,打开/etc/hosts并添加节点的ip及主机名,然后重启
vim /etc/hosts
192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102

#重启
reboot
    修改windows的主机映射文件(hosts文件)
#进入C:WindowsSystem32driversetc路径
#打开hosts文件并添加如下内容,然后保存
192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102

    测试hadoop100虚拟机是否可以链接网络
ping www.baidu.com
    安装epel-release

Extra Packages for Enterprise Linux是为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS和Scientific Linux。相当于是一个软件仓库,大多数rpm包在官方 repository 中是找不到的

#安装epel-release
yum install -y epel-release
#工具包集合
yum install -y net-tools
#vim:编辑器
yum install -y vim

#关闭防火墙
systemctl stop firewalld
#关闭防火墙开机自启
systemctl disable firewalld.service
    创建hadoop用户,并修改hadoop用户的密码
#在root用户下
useradd hadoop
passwd hadoop
    配置hadoop用户具有root权限,方便后期加sudo执行root权限的命令
#在root用户下
vim /etc/sudoers

#在%wheel下一行添加
## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL
#这行
hadoop   ALL=(ALL)     NOPASSWD:ALL
#hadoop这一行不要直接放到root行下面,因为所有用户都属于wheel组,你先配置了hadoop具有免密功能,但是程序执行到%wheel行时,该功能又被覆盖回需要密码。所以hadoop要放到%wheel这行下面。
    在/opt目录下创建文件夹,并修改所属主和所属组
mkdir /opt/module
mkdir /opt/software
#修改module、software文件夹的所有者和所属组均为hadoop用户
chown hadoop:hadoop /opt/module
chown hadoop:hadoop /opt/software
#查看module、software文件夹的所有者和所属组
cd /opt/
ll
    卸载虚拟机自带的JDK
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
reboot
2.3、安装jdk,hadoop
    进入hadoop用户
ls /opt/software/
    用XShell传输工具将JDK,Hadoop导入到opt目录下面的software文件夹下面在Linux系统下的opt目录中查看软件包是否导入成功
[hadoop@hadoop100 ~]$ ls /opt/software/
    解压JDK,Hadoop到/opt/module目录下
[hadoop@hadoop100 software]$ tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
[hadoop@hadoop100 software]$ tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
    配置JDK,Hadoop环境变量
sudo vim /etc/profile.d/my_env.sh
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
#注意安装路径路径一定要对
#保存后更新下环境变量
source /etc/profile
    测试JDK,Hadoop是否安装成功
java -version
hadoop version
#如果出现版本号则安装成功
    用hadoop100为模板,克隆两份,并修改IP地址和主机名
#修改主机名
vim /etc/hostname
#hadoop101
#hadoop102

#修改IP地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
#仅修改IP_ADDR
#IPADDR=192.168.10.101  
#IPADDR=192.168.10.102  
    hadoop重要目录
#(1)bin目录:存放对Hadoop相关服务(hdfs,yarn,mapred)进行操作的脚本
#(2)etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
#(3)lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
#(4)sbin目录:存放启动或停止Hadoop相关服务的脚本
#(5)share目录:存放Hadoop的依赖jar包、文档、和官方案例
#进入Hadoop文件,ll看一下用户组是否属于hadoop,如果不是请重新反汇root用户执行用户组变更
3、hadoop运行模式

Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式。

    本地模式:单机运行,只是用来演示一下官方案例。生产环境不用。伪分布式模式:也是单机运行,但是具备Hadoop集群的所有功能,一台服务器模拟一个分布式的环境。个别缺钱的公司用来测试,生产环境不用。完全分布式模式:多台服务器组成分布式环境。生产环境使用。
3.1、本地运行模式(官方WordCount)
    创建在hadoop-3.1.3文件下面创建一个wcinput文件夹
[hadoop@hadoop100 hadoop-3.1.3]$ mkdir wcinput
    在wcinput文件下创建一个word.txt文件
[hadoop@hadoop100 hadoop-3.1.3]$ cd wcinput
    编辑word.txt文件
[hadoop@hadoop100 wcinput]$ vim word.txt
#在文件中输入如下内容
hadoop yarn
hadoop mapreduce
hadoop
hadoop
#保存退出
    回到Hadoop目录/opt/module/hadoop-3.1.3执行程序
[hadoop@hadoop100 hadoop-3.1.3]$ cat wcoutput/part-r-00000
    查看结果
hadoop 2
hadoop  2
mapreduce       1
yarn    1

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/743238.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号