Hadoop安装与环境配置


文章目录

  • Hadoop安装与环境配置
  • 一、任务概述
  • 二、实验目的
  • 三、实验过程详细描述


一、任务概述

1.虚拟机的安装vmware/virtual box。
2.在虚拟机上安装ubuntu 。
3.安装配置linux环境,创建用户与权限设置。
4.安装JDK
5.安装Hadoop2.0 运行测试例子



二、实验目的

1.掌握虚拟机上安装ubuntu6.0。
2.熟悉linux的基本操作。
3.熟悉hadoop开发环境的安装与测试。

三、实验过程详细描述

创建新用户:

hadoop安装java hadoop安装与配置实验报告_linux

使用如下命令设置密码,可简单设置为 hadoop,按提示输入两次密码:

(原密码为1,现在改为123)

hadoop安装java hadoop安装与配置实验报告_ubuntu_02

为 hadoop 用户增加管理员权限,方便部署:

hadoop安装java hadoop安装与配置实验报告_hadoop_03

更新apt:

hadoop安装java hadoop安装与配置实验报告_Hadoop_04


hadoop安装java hadoop安装与配置实验报告_linux_05

更改一些配置文件:

hadoop安装java hadoop安装与配置实验报告_linux_06

hadoop安装java hadoop安装与配置实验报告_linux_07

安装SSH、配置SSH无密码登陆:

hadoop安装java hadoop安装与配置实验报告_ubuntu_08

登陆本机:

hadoop安装java hadoop安装与配置实验报告_Hadoop_09

退出刚才的 ssh,就回到了我们原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中:

hadoop安装java hadoop安装与配置实验报告_hadoop安装java_10

加入授权:

hadoop安装java hadoop安装与配置实验报告_hadoop_11


hadoop安装java hadoop安装与配置实验报告_hadoop安装java_12

安装JDK:

hadoop安装java hadoop安装与配置实验报告_Hadoop_13

移动jdk到下载文件下面:

sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件:

hadoop安装java hadoop安装与配置实验报告_hadoop_14

sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm #把JDK文件解压到/usr/lib/jvm目录下:

hadoop安装java hadoop安装与配置实验报告_linux_15


hadoop安装java hadoop安装与配置实验报告_hadoop安装java_16

JDK文件解压缩以后,可以执行如下命令到/usr/lib/jvm目录查看一下:

hadoop安装java hadoop安装与配置实验报告_hadoop_17

设置环境变量:

hadoop安装java hadoop安装与配置实验报告_hadoop_18

输入java -version,检查是否安装成功:

hadoop安装java hadoop安装与配置实验报告_ubuntu_19

安装Hadoop 2:

将 Hadoop 安装至 /usr/local/ 中:

hadoop安装java hadoop安装与配置实验报告_linux_20

将文件夹名改为hadoop,修改文件权限:

hadoop安装java hadoop安装与配置实验报告_ubuntu_21

hadoop安装java hadoop安装与配置实验报告_hadoop安装java_22

检测是否成功,即输入检查版本的信息:

hadoop安装java hadoop安装与配置实验报告_hadoop_23

Hadoop单机配置(非分布式):

运行 grep 例子,我们将 input 文件夹中的所有文件作为输入,筛选当中符合正则表达式 dfs[a-z.]+ 的单词并统计出现的次数,最后输出结果到 output 文件夹中:

hadoop安装java hadoop安装与配置实验报告_linux_24

hadoop安装java hadoop安装与配置实验报告_linux_25

hadoop安装java hadoop安装与配置实验报告_Hadoop_26

Hadoop 默认不会覆盖结果文件,因此再次运行上面实例会提示出错,需要先将 ./output 删除。

hadoop安装java hadoop安装与配置实验报告_hadoop_27

Hadoop伪分布式配置:

修改配置文件 core-site.xml (通过 gedit 编辑会比较方便: gedit ./etc/hadoop/core-site.xml):

hadoop安装java hadoop安装与配置实验报告_linux_28

修改配置文件 hdfs-site.xml:

hadoop安装java hadoop安装与配置实验报告_Hadoop_29

配置完成后,执行 NameNode 的格式化:

hadoop安装java hadoop安装与配置实验报告_hadoop_30


hadoop安装java hadoop安装与配置实验报告_ubuntu_31

开启 NameNode 和 DataNode 守护进程:

hadoop安装java hadoop安装与配置实验报告_ubuntu_32

启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程: “NameNode”、”DataNode” 和 “SecondaryNameNode”:

hadoop安装java hadoop安装与配置实验报告_ubuntu_33

成功启动后,可以访问 Web 界面 http://localhost:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。

运行Hadoop伪分布式实例
上面的单机模式,grep 例子读取的是本地数据,伪分布式读取的则是 HDFS 上的数据。要使用 HDFS,首先需要在 HDFS 中创建用户目录:

接着将 ./etc/hadoop 中的 xml 文件作为输入文件复制到分布式文件系统中,即将 /usr/local/hadoop/etc/hadoop 复制到分布式文件系统中的 /user/hadoop/input 中。我们使用的是 hadoop 用户,并且已创建相应的用户目录 /user/hadoop ,因此在命令中就可以使用相对路径如 input,其对应的绝对路径就是 /user/hadoop/input:

复制完成后,可以通过如下命令查看文件列表:

hadoop安装java hadoop安装与配置实验报告_Hadoop_34

伪分布式运行 MapReduce 作业的方式跟单机模式相同,区别在于伪分布式读取的是HDFS中的文件(可以将单机步骤中创建的本地 input 文件夹,输出结果 output 文件夹都删掉来验证这一点)。
结果如下,注意到刚才我们已经更改了配置文件,所以运行结果不同。

hadoop安装java hadoop安装与配置实验报告_hadoop安装java_35

我们也可以将运行结果取回到本地:

hadoop安装java hadoop安装与配置实验报告_Hadoop_36

Hadoop 运行程序时,输出目录不能存在,否则会提示错误 “org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://localhost:9000/user/hadoop/output already exists” ,因此若要再次执行,需要执行如下命令删除 output 文件夹:

hadoop安装java hadoop安装与配置实验报告_hadoop安装java_37

要关闭 Hadoop,则运行:

hadoop安装java hadoop安装与配置实验报告_Hadoop_38

YARN

修改配置文件 mapred-site.xml,这边需要先进行重命名:

hadoop安装java hadoop安装与配置实验报告_linux_39


hadoop安装java hadoop安装与配置实验报告_linux_40

然后就可以启动 YARN 了:

hadoop安装java hadoop安装与配置实验报告_linux_41


hadoop安装java hadoop安装与配置实验报告_ubuntu_42

开启后通过 jps 查看,可以看到多了 NodeManager 和 ResourceManager 两个后台进程,如下图所示。

hadoop安装java hadoop安装与配置实验报告_hadoop安装java_43

关闭 YARN 的脚本如下:

hadoop安装java hadoop安装与配置实验报告_linux_44