一、实验目的
掌握Hadoop3本地模式环境的搭建、文件配置和环境测试。
二、实验内容
1、在Linux中安装和配置JDK8
2、Hadoop3安装和配置(本地模式)
3、Hadoop3安装测试
三、实验环境
硬件:Ubuntu16.04
软件:JDK-1.8、Hadoop-3.3.0
数据存放路径:/data/dataset
tar包路径:/data/software
tar包压缩路径:/data/bigdata
实验设计创建文件:/data/resource
四、实验原理
Hadoop的运行模式分为3种:本地运行模式,伪分布运行模式,集群运行模式。
Hadoop3的本地模式,指的是Hadoop各组件程序都运行在同一个JVM上,不需要单独启动任何Hadoop进程。这种模式适宜用在开发阶段。
五、实验步骤
5.1 安装JDK8
Hadoop3的运行需要JDK 8的支持,所以需要先安装JDK 8。
1、对JDK 8的安装包解压缩。
在终端窗口中,执行以下命令,进入软件包所在文件夹中,然后将JDK8解压安装到“/data/bigdata/”目录下:
$ cd /data/software
$ tar -zxvf jdk-8u73-linux-x64.tar.gz -C /data/bigdata/
查看解压后的JDK安装文件:
$ ls /data/bigdata/
2、配置环境变量。
在终端窗口中,执行以下命令,打开系统文件:
$ vi /etc/profile
移动到文件的末尾,添加如下的内容到文件中(替换原来的即可):
export JAVA_HOME=/data/bigdata/jdk1.8.0_73
export PATH=$PATH:$JAVA_HOME/bin
```
> 保存文件内容。然后在终端窗口中,执行如下命令,使编辑后的系统文件生效:
```u
$ source /etc/profile
3、测试JDK的安装。
在终端窗口中,执行如下命令,查看JDK的版本号,检验安装是否正确,如下所示:
$ java -version
如果出现如下的版本信息,说明JDK8的安装和配置正确。
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)
至此,JDK8的安装完成。
5.2 Hadoop3的安装和部署
1、进入软件包所在文件夹中:
$ cd /data/software
将Hadoop3解压安装到“/data/bigdata/”目录下:
$ tar -zxvf hadoop-3.3.0.tar.gz -C /data/bigdata/
2、查看解压后的Hadoop3安装文件:
$ ls /data/bigdata/
3、打开”/etc/profile”配置文件,配置hadoop环境变量(注意,标点符号全都要是英文半角):。
export HADOOP_HOME=/data/bigdata/hadoop-3.3.0
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"
然后保存。
4、执行”/etc/profile”,让配置生效:
$ source /etc/profile
5、测试hadoop安装。在终端窗口中,执行如下命令:
$ hadoop version
如果安装正确,可以看到如下的版本信息:
Hadoop 3.3.0
Source code repository https://gitbox.apache.org/repos/asf/hadoop.git -r aa96f1871bfd858f9bac59cf2a81ec470da649af
Compiled by brahma on 2020-07-06T18:44Z
Compiled with protoc 3.7.1
From source with checksum 5dc29b802d6ccd77b262ef9d04d19c4
This command was run using /home/hduser/bigdata/hadoop-3.3.0/share/hadoop/common/hadoop-common-3.3.0.jar
至此,hadoop本地模式搭建完成
5.3 在Hadoop上执行MR程序
1、在终端窗口中,执行如下命令,进入到程序.jar包所在的目录:
$ cd /data/bigdata/hadoop-3.3.0/share/hadoop/mapreduce
2、在终端窗口中,执行如下命令,运行MR程序:
$ hadoop jar hadoop-mapreduce-examples-3.3.0.jar pi 10 20
3、在输出内容中,可以找到计算出的PI值。如下所示:
2020-08-24 11:50:48,361 INFO mapreduce.Job: Counters: 30
File System Counters
FILE: Number of bytes read=3175648
FILE: Number of bytes written=9814605
FILE: Number of read operations=0
FILE: Number of large read operations=0
FILE: Number of write operations=0
Map-Reduce Framework
Map input records=10
Map output records=20
Map output bytes=180
Map output materialized bytes=280
Input split bytes=1310
Combine input records=0
Combine output records=0
Reduce input groups=2
Reduce shuffle bytes=280
Reduce input records=20
Reduce output records=0
Spilled Records=40
Shuffled Maps =10
Failed Shuffles=0
Merged Map outputs=10
GC time elapsed (ms)=252
Total committed heap usage (bytes)=4458545152
Shuffle Errors
BAD_ID=0
CONNECTION=0
IO_ERROR=0
WRONG_LENGTH=0
WRONG_MAP=0
WRONG_REDUCE=0
File Input Format Counters
Bytes Read=1300
File Output Format Counters
Bytes Written=109
Job Finished in 2.239 seconds
Estimated value of Pi is 3.12000000000000000000
可以看出,计算出的PI值为3.12。在上面的程序运行命令中,我们指定并发度为10,迭代次数为20,采用并行计算,按蒙特卡罗方法求出了PI值。