一、实验目的
掌握如何安装、配置和运行Hadoop,并使用Hadoop计算圆周率测试Hadoop是否安装成功。
二、实验环境
(1)Linux Ubuntu 16.04
(2)jdk-8u162-linux-x64
(3)hadoop-2.7.1

三、实验原理或流程
Hadoop是一个能够对大量数据进行分布式处理的软件框架,实现了Google的MapReduce编程模型和框架,能够把应用程序分割成许多的小的工作单元,并把这些单元放到任何集群节点上执行。在MapReduce中,一个准备提交执行的应用程序称为“作业(job)”,而从一个作业划分出 得、运行于各个计算节点的工作单元称为“任务(task)”。此外,Hadoop提供的分布式文件系统(HDFS)主要负责各个节点的数据存储,并实现了高吞吐率的数据读写。
Hadoop运行原理包括HDFS和Mapreduce两部分。
HDFS:
将文件进行切块处理,再通过文件信息服务器Namenode存放切块的文件信息存放地址,实际存放数据的服务器Datanode存放切块后的数据。
系统默认:每个片块大小为64M,以保证寻址速度;数据会写入3个Datanode中,以保证更高的容错性。
HDFS还设计了Secondary Namenode来更新Namenode,以避免日志文件过大。
HDFS Client帮助Namenode对写入读取数据进行预处理,进行文件的分块与发送读取操作。Namenode负责为数据任务寻址。
MapReduce:
通过JobClient生成任务运行文件,并在JobTracker进行调度指派TaskTracker完成任务。
JobTracker分为把任务文件进行分解并派送到TaskTracker的程序JobinProgress和执行调度器的TaskScheduler。
JobinProgress把作业分解成Map计算和Reduce计算并放置到TaskTracker服务器中。

四、实验内容

(一)安装JAVA环境

1.安装JDK

从镜像光盘中解压jdk-8u162-linux-x64.tar.gz至/usr/lib目录下

sudo tar –zxf jdk-8u162-linux-x64.tar.gz –C /usr/lib

Hadoop 环境配置 hadoop环境配置的实验原理_大数据


2.配置环境变量

vim ~/.bashrc

打开配置文件,在开头加入

export JAVA_HOME=/usr/lib/jdk1.8.0_162

export PATH=Hadoop 环境配置 hadoop环境配置的实验原理_大数据_02JAVA_HOME/bin

Hadoop 环境配置 hadoop环境配置的实验原理_Hadoop_03


保存退出

source ~/.bashrc——配置文件生效

java -version ——查看jdk版本

Hadoop 环境配置 hadoop环境配置的实验原理_Hadoop 环境配置_04


(二)安装Hadoop

1.从镜像文件中解压hadoop-2.7.1.tar.gz至/usr/local/hadoop

sudo tar -zxf hadoop-2.7.1.tar.gz -C /usr/local

cd /usr/local

sudo mv ./hadoop-2.7.1 ./hadoop ——更为目录名

sudo chown -R hadoop ./hadoop ——修改权限

Hadoop 环境配置 hadoop环境配置的实验原理_Hadoop_05


Hadoop 环境配置 hadoop环境配置的实验原理_jar_06


(三)Hadoop——单机模式配置

1.检测hadoop版本

将/usr/local/hadoop/bin添加至环境变量PATH中

Hadoop 环境配置 hadoop环境配置的实验原理_Hadoop_07

Hadoop 环境配置 hadoop环境配置的实验原理_hadoop_08


hadoop version ——可查看hadoop版本

Hadoop 环境配置 hadoop环境配置的实验原理_hadoop_09


2.运行例子

cd /usr/local/hadoop
mkdir input
cp ./etc/hadoop/*.xml ./input
hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep 
./input ./output  'dfs[a-z.]+'  
cat ./output/*

Hadoop 环境配置 hadoop环境配置的实验原理_大数据_10


Hadoop 环境配置 hadoop环境配置的实验原理_Hadoop 环境配置_11


(四)Hadoop——伪分布式模式配置

1.修改配置文件

core-site.xml

用vim或者gedit打开

<configuration>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>file:/usr/local/hadoop/tmp</value>	
	</property>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://localhost:9000</value>	
	</property>
</configuration>

Hadoop 环境配置 hadoop环境配置的实验原理_hadoop_12


2.修改配置文件

hdfs-site.xml

用vim或者gedit打开

<configuration>
	<property>
		<name>dfs.replication</name>
		<value>1</value>	
	</property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:/usr/local/hadoop/tmp/dfs/name</value>	
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>file:/usr/local/hadoop/tmp/dfs/data</value>	
	</property>
</configuration>

Hadoop 环境配置 hadoop环境配置的实验原理_jar_13


3.执行名称节点格式化

hdfs namenode –format

Hadoop 环境配置 hadoop环境配置的实验原理_jar_14


Hadoop 环境配置 hadoop环境配置的实验原理_Hadoop 环境配置_15


4.启动Hadoop

start-dfs.sh

Hadoop 环境配置 hadoop环境配置的实验原理_jar_16


5.查看进程

Jps

Hadoop 环境配置 hadoop环境配置的实验原理_大数据_17


6.查看HDFS信息

http://localhost:50070

Hadoop 环境配置 hadoop环境配置的实验原理_Hadoop 环境配置_18

7.停止Hadoop

stop-dfs.sh


(五)使用Hadoop计算圆周率测试Hadoop是否安装成功。

Hadoop 环境配置 hadoop环境配置的实验原理_Hadoop_19

Hadoop 环境配置 hadoop环境配置的实验原理_Hadoop_20

Hadoop 环境配置 hadoop环境配置的实验原理_大数据_21

Hadoop 环境配置 hadoop环境配置的实验原理_jar_22

(1)源程序清单和运行结果截图

hadoop jar …/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar pi 10 10

Hadoop 环境配置 hadoop环境配置的实验原理_Hadoop_23


Hadoop 环境配置 hadoop环境配置的实验原理_Hadoop_24


hadoop jar …/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar pi 20 50

Hadoop 环境配置 hadoop环境配置的实验原理_大数据_25


Hadoop 环境配置 hadoop环境配置的实验原理_jar_26