调用MapReduce对文件中各个单词出现次数统计
一、Linux的安装
本次实验重要是基于Linux系统进行的,其他博主有更好更详细的安装教程我就不再赘述,然后再系统上安装增强功能方便后续的操作。
二、准备工作
创建hadoop账户
这里建议先按照本实验的账号和其他安装设置项进行试验性的操作,以便出现错误时排查
同时按下ctrl,alt,t 打开终端窗口,输入下面的命令创建名为hadoop的新用户
sudo useradd -m hadoop -s /bin/bash
/bin/bash
/bin/bash 使用户hadoop作为shell
设置用户hadoop密码为hadoop(与用户名相同)
sudo passwd hadoop
将用户hadoop增加管理员权限,方便后续的操作
sudo adduser hadoop sudo
最后注销当前用户,登录刚刚注册的用户hadoop验证是否创建成功,完成第二部分的操作。
2.更新apt
登录用户hadoop后,需要更新apt防止后续的软件安装时出现错误
sudo apt-get update
安装vim
sudo apt-get install vim
3.安装SSH
SSH登录类似远程登陆,可以实现登录远端的Linux并在上面运行指令,Ubuntu默认安装了SSH client,不过服务端需要自己安装
sudo apt-get install openssh-server
安装完成后可以用下面的命令登录本机
ssh loaclhost
SSH首次登录时会有提示,输入yes,再键入用户hadoop的密码hadoop,即可登录本机
这里可以见SSH配置成无密码登录,方便以后的实验
cd ~/.ssh/ #如果提示没有该目录,再执行一次ssh loaclhost即可
ssh-keygen -t rsa
cat ./id_rsa.pub >> ./authorized_keys
后面SSH的登录就不需要密码啦
三、安装Java环境
安装JDK
链接: jdk-8u162-linux-x64.tar.gz.提取码(99bg)
把压缩格式的文件jdk-8u162-linux-x64.tar.gz下载,假设保存在“/home/hzw/Downloads/”目录下。(以实际情况为准)
接下里在Linux命令行界面中执行如下命令(注意:当前登录用户名是hadoop):
cd /usr/lib
sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件
cd ~ #进入hadoop用户的主目录
cd Downloads #注意区分大小写字母,刚才已经通过FTP软件把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文件解压缩以后,执行下面的命令,在/usr/lib/jvm目录下有jdk1.8.0_162目录即安装成功。
cd /usr/lib/jvm
ls
设置java环境变量
通过vim编辑器。打开环境变量配置.bashrc文件
cd ~
vim ~/.bashrc
在文件.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
保存.bashrc文件并退出vim编辑器。然后继续执行命令让.bashrc文件的配置立即生效:
1|source ~/.bashrc
用下面的命令查看安装的java版本是否和安装的包相同:
1|java -version
如果有下列的类似的输出,则安装成功
四、安装Hadoop
在这里选择Hadoop的伪分布模式:Hadoop在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时读取的也是 HDFS 中的文件。可到Hadoop官网下载hadoop-2.10.0.tar.gz 也可以在上面的网盘中下载: 下载链接.提取码(99bg)
安装Hadoop
将 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
对Hadoop进行伪分布式的配置
Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要对 core-site.xml 和 hdfs-site.xml两个文件进行修改 。Hadoop的配置文件是 xml 格式,每个配置都用声明 property 的 name 和 value 的方式来实现。
cd /usr/local/hadoop/etc/hadoop/
在进行修改配置文件前,需要创建相应的文件夹进行存放,以防后续操作无法启动Hadoop
sudo mkdir /usr/local/hadoop/tmp
sudo mkdir /usr/local/hadoop/tmp/dfs/name
sudo mkdir /usr/local/hadoop