Hadoop入门与集群搭建
Hadoop概述
HDFS概述
NameNode:存储文件的元数据(文件名,文件目录结构,文件属性(生成文件的时间、副本数、文件权限),以及每一个文件的块列表和块所在的DataNode。
DataNode:在本地文件系统存储文件块数据,以及块数据校验。
SecondaryNameNode:每隔一段时间对NameNode元数据备份。
YARN概述
ResourceManager主要作用如下:
(1)处理客户端的请求
(2)监控NodeManager
(3)启动或者监控ApplicationMaster
(4)资源的分配与调度
NodeManager主要作用如下:
(1)管理单个节点上的资源
(2)处理来自ResourceManager的命令
(3)处理来自AppliactionMaster的命令
ApplicationMaster主要作用如下:
(1)负责数据的切分
(2)为应用程序申请资源并分配给内部任务
(3)任务的监管与容错
Container:
Container是YARN的资源抽象,它封装了某个节点上的多维资源,如内存、CPU、磁盘、网络等。
Mapreduce架构概述
Mapreduce将计算过程分为两个阶段:Map和Reduce
(1)Map阶段并行处理输入数据
(2)Reduce阶段对Map结果进行汇总
Hadoop集群搭建
虚拟环境准备
下面以三台虚拟机为例搭建完全分布式集群(自己电脑最好是16G内存以上,8G内存勉强搭建)
1)准备好一台centos7的虚拟机,内存2G-4G,硬盘50G,安装必要的环境
sudo yum install -y epel-release
sudo yum install -y psmisc nc net-tools rsync vim lrzsz ntp libzstd openssl-static
2)修改克隆虚拟机的静态IP
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
改成(注意自己查看网段)
DEVICE=ens33
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
NAME="ens33"
IPADDR=192.168.1.101
PREFIX=24
GATEWAY=192.168.1.2
DNS1=192.168.1.2
3)查看Linux虚拟机的虚拟网络编辑器,编辑->虚拟网络编辑器->VMnet8
4)查看Windows系统适配器VMware Network Adapter VMnet8的IP地址
5)保证Linux文件中IP地址、Linux虚拟网络编辑器地址和Windows系统VM8网络IP地址相同。
6)修改主机名称
sudo hostnamectl --static set-hostname hadoop101
7)配置主机名称映射,打开/etc/hosts
sudo vim /etc/hosts
添加如下内容
192.168.1.100 hadoop101
192.168.1.101 hadoop102
192.168.1.102 hadoop103
8)修改window7的主机映射文件(hosts文件)
(a)进入C:\Windows\System32\drivers\etc路径
(b)打开hosts文件并添加如下内容
192.168.1.100 hadoop100
192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.103 hadoop103
192.168.1.104 hadoop104
192.168.1.105 hadoop105
192.168.1.106 hadoop106
192.168.1.107 hadoop107
192.168.1.108 hadoop108
9)修改window10的主机映射文件(hosts文件)
(a)进入C:\Windows