一、实验目的
掌握如何安装、配置和运行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

2.配置环境变量
vim ~/.bashrc
打开配置文件,在开头加入
export JAVA_HOME=/usr/lib/jdk1.8.0_162
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
在这里插入图片描述
保存退出
source ~/.bashrc——配置文件生效
java -version ——查看jdk版本

在这里插入图片描述
(二)安装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——单机模式配置
1.检测hadoop版本
将/usr/local/hadoop/bin添加至环境变量PATH中
在这里插入图片描述在这里插入图片描述
hadoop version ——可查看hadoop版本

在这里插入图片描述
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——伪分布式模式配置
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> 

在这里插入图片描述
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>

在这里插入图片描述
3.执行名称节点格式化
hdfs namenode –format
在这里插入图片描述
在这里插入图片描述
4.启动Hadoop
start-dfs.sh
在这里插入图片描述
5.查看进程
Jps
在这里插入图片描述
6.查看HDFS信息
http://localhost:50070
在这里插入图片描述
7.停止Hadoop
stop-dfs.sh
在这里插入图片描述
(五)使用Hadoop计算圆周率测试Hadoop是否安装成功。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

附录
(1)源程序清单和运行结果截图
hadoop jar …/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar pi 10 10
在这里插入图片描述
在这里插入图片描述
hadoop jar …/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar pi 20 50
在这里插入图片描述
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐