一、Hadoop的优势
1)高可靠性:因为Hadoop假设计算元素和存储会出现故障,因为它维护多个工作数据副本,在出现故障时可以对失败的节点重新分布处理。
2)高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。
3) 高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任务处理速度。
4)高容错性:自动保存多份副本数据,并且能够自动将失败的任务重新分配。
二、Hadoop组成
1)Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统。
2)Hadoop MapReduce:一个分布式的离线并行计算框架。
3)Hadoop YARN:作业调度与集群资源管理的框架。
4)Hadoop Common:支持其他模块的工具模块。
2.1 HDFS(Hadoop Distributed File System)架构概述
1)NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。
2)DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。
3)Secondary NameNode(2nn):用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。
2.2 YARN架构概述
1)ResourceManager(rm):处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度;
2)NodeManager(nm):单个节点上的资源管理、处理来自ResourceManager的命令、处理来自ApplicationMaster的命令;
3)ApplicationMaster:数据切分、为应用程序申请资源,并分配给内部任务、任务监控与容错。
4)Container:对任务运行环境的抽象,封装了CPU、内存等多维资源以及环境变量、启动命令等任务运行相关的信息。
2.3 MapReduce架构概述
MapReduce将计算过程分为两个阶段:Map和Reduce
1)Map阶段并行处理输入数据
2)Reduce阶段对Map结果进行汇总
三、Hadoop环境搭建
1 虚拟机网络模式设置为NAT
最后,重新启动系统。
2.修改为静态ip
1)使用命令 vim /etc/sysconfig/network-scripts/ifcfg-eth0
2)修改选项有五项:
IPADDR=192.168.110.61
GATEWAY=192.168.110.2
ONBOOT=yes
BOOTPROTO=static
DNS1=192.168.110.2
修改完成后保存退出(:wq )
3)执行service network restart
4)如果报错,reboot,重启虚拟机
3.修改主机名
1)修改linux的hosts文件
(1)进入Linux系统查看本机的主机名。通过hostname命令查看
(2)如果感觉此主机名不合适,我们可以进行修改。通过编辑/etc/sysconfig/network文件
(3)修改后保存退出
(4)编辑
vim /etc/hosts
(5)并重启设备,重启后,查看主机名,已经修改成功
4.关闭防火墙
1)查看防火墙开机启动状态
chkconfig iptables --list
2)关闭防火墙
chkconfig iptables off
5.安装jdk
1)卸载现有jdk
(1)查询安装jdk的版本:
java -version
(2)查询是否安装java软件:
rpm -qa|grep java
(3)如果安装的版本低于1.7,卸载该jdk:
rpm -e 软件包
2)用filezilla工具将jdk导入到usr目录下面的java文件夹下面
3)在linux系统下的usr目录中查看软件包是否导入成功(使用.gz包或者.rpm包,本处使用.rpm包)。
4).gz包使用命令 tar -zxf jdk***.gz 解压到当前目录; .rpm包使用命令 rpm -ivh jdk***.rpm 进行安装.
5)配置jdk环境变量
(1) 先获取jdk路径:使用命令pwd
(2)打开/etc/profile文件:
vi /etc/profile
在profie文件末尾添加jdk路径:
#set java environment
JAVA_HOME=/usr/java/jdk1.8.0_171-amd64
JRE_HOME=/usr/java/jdk1.8.0_171-amd64/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
(3)保存后退出:
:wq
(4)让修改后的文件生效:
6)重启(如果java –version可以用就不用重启):
7) 测试jdk安装成功
四、安装Hadoop
1)通过用filezilla工具将Hadoop导入/usr/local/src/中,官方下载地址:http://mirrors.shu.edu.cn/apache/hadoop/common/
2)解压安装文件 tar -zxf hadoop-2.7.6.tar.gz
3)配置hadoop中的hadoop-env.sh
(1)Linux系统中获取jdk的安装路径:
(2)进入 hadoop-2.7.6/etc/hadoop/中 ,修改hadoop-env.sh文件中JAVA_HOME 路径:
export JAVA_HOME=/opt/module/jdk1.7.0_79
4)将hadoop添加到环境变量
(1)获取hadoop安装路径:
(2)打开/etc/profile文件:
在profie文件末尾添加hadoop路径:
#HADOOP_HOME
export HADOOP_HOME=/usr/local/src/hadoop-2.7.6
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
(3)保存后退出:
:wq
(4)让修改后的文件生效:
(5)使用hadoop查看是否安装成功,如果hadoop命令不能使用则重启再查看。