在Hadoop的环境下调用MapReduce进行单词计数
准备工作
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- 安装好Ubuntu Kylin系统,以下演示是在安装VirtualBox虚拟机中
- 准备JAVA环境包、Hadoop安装包,hadoop-eclipse-plugin以及一个需要WordCount的万字英语作文
一、创建Hadoop
1、在终端中创建名为hadoop的用户
// sudo useradd -m hadoop -s /bin/bash
2、为hadoop用户设置密码,这里设置的为hadoop。
//sudo passwd hadoop
3、为 hadoop 用户增加管理员权限,为防止后续操作出现权限不够的情况
// sudo adduser hadoop sudo
4、最后注销当前用户(点击屏幕右上角的齿轮,选择注销),返回登陆界面。在登陆界面中选择刚创建的 hadoop 用户进行登陆。
二、更新apt
用 hadoop 用户登录后,我们先更新一下 apt,后续我们使用 apt 安装软件,如果没更新可能有一些软件安装不了。按 ctrl+alt+t 打开终端窗口,执行如下命令:
$ sudo apt-get update
若出现如下 “Hash校验和不符” 的提示,可通过更改软件源来解决。若没有该问题,则不需要更改。从软件源下载某些软件的过程中,可能由于网络方面的原因出现没法下载的情况,那么建议更改软件源。在学习Hadoop过程中,即使出现“Hash校验和不符”的提示,也不会影响Hadoop的安装。(Ubuntu更新软件源时遇到Hash校验和不符的问题如下)
通过此法解决
个人习惯使用vim,所以这里安装一下vim,下面的演示也是用vim,也可以选择gedit代替。
sudo apt-get install vim
三、安装SSH并配置免密登录
系统已经默认安装SSH client,我们需要额外安装SSH server(使用命令如下)
$ sudo apt-get install openssh-server
安装后,尝试登陆本机
$ ssh localhost
此时会有如下提示(SSH首次登陆提示),输入 yes 。然后按提示输入密码 hadoop,这样就登陆到本机了。
但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。
首先退出刚才的 ssh,就回到了我们原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中:
exit # 退出刚才的 ssh localhost
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys # 加入授权
此时再用 ssh localhost 命令,无需输入密码就可以直接登陆了,如下图所示
四、安装Java环境
我这里使用手动安装JDK的方式,可以用其他方式代替
把JDK安装包放到下载目录下(如果系统语言是英文则为Download)
为了方便后续安装,一并把hadoop安装包和hadoop-eclipse-plugin放置在此目录下
在终端执行如下命令
cd /usr/lib
sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件
cd ~ #进入hadoop用户的主目录
cd 下载 #英文注意区分大小写字母,刚才已经通过把JDK安装包jdk-8u162-linux-x64.tar.gz上传到该目录下
sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm #把JDK文件解压到/usr/lib/jvm目录下
JDK文件解压缩以后,可以执行如下命令到解压目录下查看
cd /usr/lib/jvm
ls
接下来设置环境变量
使用如下命令打开环境变量配置文件
cd ~
vim ~/.bashrc
在开头添加如下
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
export JRE_HOME=${
JAVA_HOME}/jre
export CLASSPATH=.:${
JAVA_HOME}/lib:${
JRE_HOME}/lib
export PATH=${
JAVA_HOME}/bin:$PATH
保存文件并退出编辑器,执行如下命令使得配置生效
source ~/.bashrc
java -version
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
五、安装Hadoop
先将Hadoop安装到目标文件夹
sudo tar -zxf ~/下载/hadoop-2.10.0.tar.gz -C /usr/local #解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop #将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop #修