2020-12-19

在Linux OS中调用MapReduce对文件中单词出现次数进行统计

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


一、Ubuntu安装

一般来说,如果要做服务器,我们选择CentOS或者Ubuntu Server;如果做桌面系统,我们选择Ubuntu Desktop。但是在学习Hadoop方面,虽然两个系统没有多大区别,但是我们强烈推荐新手读者使用Ubuntu操作系统。下面我们也会分别给出在CentOS和Ubuntu系统下安装Hadoop的教程。
具体安装教程点这里


二、准备工作

1.创建hadoop用户

1.代码如下:

sudo useradd -m hadoop -s /bin/bash

2.设置密码,添加管理员权限。

$ sudo passwd hadoop
$ sudo adduser hadoop sudo

3.更新apt。

$ sudo apt-get update

4.安装配置文件VIM。

$ sudo apt-get install vim

5.安装SSH、配置SSH无密码登陆。

$ sudo apt-get install openssh-server

6.安装JAVA环境
下载文件jdk-8u162-linux-x64.tar.gz 使用Filezilla传输到“/home/linziyu/Downloads/”目录下。
(注:先创建/usr/lib/jvm目录用于存放JDK文件,然后进入上述jdk压缩包目录下并解压到创建的jvm目录下)

$ cd /usr/lib
$ sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件
$ cd ~ #进入hadoop用户的主目录
$ cd Downloads 
$ sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm  #解压

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

$ cd /usr/lib/jvm
$ ls

可以看到,在/usr/lib/jvm目录下有个jdk1.8.0_162目录。
在这里插入图片描述
7.设置环境变量
进入hadoop这个用户的环境变量配置文件,并在这个文件的开头位置,添加如下几行内容:
在这里插入图片描述
保存.bashrc文件并退出vim编辑器。(查看vim编辑器使用方法

执行如下命令让.bashrc文件的配置立即生效:

$ source ~/.bashrc

这时,可以使用如下命令查看是否安装成功:

$ java -version

2.安装 Hadoop3.1.3

(这里本人安装的版本是2.10.0)

我们选择将 Hadoop 安装至 /usr/local/ 中:

$ sudo tar -zxf ~/下载/hadoop-2.6.0.tar.gz -C /usr/local    # 解压到/usr/local中
$ cd /usr/local/
$ sudo mv ./hadoop-2.6.0/ ./hadoop            # 将文件夹名改为hadoop
$ sudo chown -R hadoop ./hadoop       # 修改文件权限

Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:

$ cd /usr/local/hadoop
$ ./bin/hadoop version

3.Hadoop伪分布式配置

Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

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

<configuration>
</configuration>

修改为下面配置:

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

同样的,修改配置文件 hdfs-site.xml:

<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>

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

$ ncd /usr/local/hadoop
$ ./bin/hdfs namenode -format

成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。
在这里插入图片描述
接着开启 NameNode 和 DataNode 守护进程。

$ cd /usr/local/hadoop
$ ./sbin/start-dfs.sh  #start-dfs.sh是个完整的可执行文件,中间没有空格

若出现如下SSH提示,输入yes即可。
在这里插入图片描述
启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程: “NameNode”、”DataNode” 和 “SecondaryNameNode”(如果 SecondaryNameNode 没有启动,请运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试)。如果没有 NameNode 或 DataNode ,那就是配置不成功,请仔细检查之前步骤,或通过查看启动日志排查原因。
在这里插入图片描述
通过jps查看启动的Hadoop进程

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

三、 调用MapReduce执行WordCount对单词进行计数

1.将待分析的文件上传到HDFS
2.在已安装好eclipse的前提下将上述文件放入如下路径:
在这里插入图片描述
3.运行WordCount.java
在这里插入图片描述
其运行结果如下:
在这里插入图片描述


总结

通过本次实验让我了解并学习了很多东西,从ubuntu,hadoop,jdk和eclipse的安装再到WordCount执行完成后的结果,每个步骤都让我重新温习了一些操作、命令和知识。在这次试验之后我对大数据这门课有了不一样的理解,对于LInux的命令使用更加熟悉。并且在这次实验的操作过程中也发现了很多自己的不足之处,在今后会多加练习提高自身水平。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值