目录
前言
本文安装的 Hadoop 及 Java 环境基于林子雨老师的《大数据技术原理与应用(第3版)》中所要求,其中 Java 版本为1.8.0_301,Hadoop 版本为3.2.2,其他版本的安装请参考其他博客。
Hadoop 单机安装基本配置主要包括以下几个步骤:
- 创建 Hadoop 用户
- 更新 apt 和安装 Vim 编辑器
- 安装 SSH 和配置 SSH 无密码登录
- 安装 Java 环境
- 安装单机 Hadoop
这里我的操作系统环境是 Ubuntu20.04,此安装方法同样适用于低版本。
一、创建Hadoop用户
创建用户命令如下:
sudo useradd -m hadoop -s /bin/bash
接着为 hadoop 用户设置密码,建议三位数,不用太长也要便于记忆:
sudo passwd hadoop
然后为 hadoop 用户增加管理员权限:
sudo adduser hadoop sudo
切换用户为hadoop登录!
二、更新apt和安装Vim编辑器
首先更新 apt:
sudo apt-get update
接着安装 Vim 编辑器:
sudo apt-get install vim
三、安装SSH和配置SSH无密码登录
Ubuntu 操作系统下默认已安装了 SSH 客户端,因此这里我们只需安装 SSH 服务端:
sudo apt-get install openssh-server
安装后,可使用以下命令登录本机:
ssh localhost
输入 yes 与用户密码,就可以登录到本机,详细输出如下:
zq@fzqs-computer [11时22分50秒] [/home/hadoop/Downloads]
-> % ssh localhost
The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:YMFv60J4eT7***c3SA8sfuXU.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
zq@localhost's password:
Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-36-generic x86_64)* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage0 updates can be applied immediately.
Your Hardware Enablement Stack (HWE) is supported until April 2025.
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
接着我们退出 SSH 登录,
exit
配置无密码登录:
cd ~/.ssh/
ssh-keygen -t rsa
注意这里第二步要你输入文件名时不用输入,直接一路 Enter 选择默认值就好了!
cat ./id_rsa.pub >> ./authorized_keys
此时再用 ssh localhost 命令无需密码即可登录了。
四、安装Java环境
1. 安装JDK
对于 Hadoop3.1.3 及以上版本而言,需要使用 JDK1.8 或者更新的版本,这里我们使用的 JDK 版本为1.8.0_301,安装包可以从 Oracle 官网下载:Java Downloads | Oracle,Java官网安装麻烦
也可从我的百度网盘下载:jdk-8u301-linux-x64.tar.gz
提取码:2g4c
接着在 /usr/lib 目录下创建 jvm 文件夹来保存 JDK 文件:
cd /usr/lib
sudo mkdir jvm
解压缩之前的 JDK 文件到上述目录中:
cd ~/Downloads
sudo tar -zxvf ./jdk-8u301-linux-x64.tar.gz -C /usr/lib/jvm
2. 配置JDK环境
使用 gedit 编辑器编辑环境变量:
sudo gedit ~/.bashrc
在文件末尾处添加以下几行内容:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_301
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存并退出,接着使我们刚加入的环境变量生效:
source ~/.bashrc
3. 检验安装
输入以下命令:
java -version
若出现如下输出则说明安装成功:
hadoop@fzqs-computer:~$ java -version
java version "1.8.0_301"
Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.301-b09, mixed mode)
五、安装单机Hadoop
1. 下载安装Hadoop
下载地址:Apache Hadoop,这里官网下载较快,但注意不要下载 src 源码包!
这里我安装的 Hadoop 版本为3.2.2,下载好后,执行以下命令安装:
sudo tar -zxf ~/Downloads/hadoop-3.2.2.tar.gz -C /usr/local
修改目录名称:
cd /usr/local
sudo mv ./hadoop-3.2.2/ ./hadoop
赋予可执行权限:
sudo chown -R hadoop ./hadoop
进入 hadoop 文件夹,查看安装的 Hadoop 版本信息:
cd ./hadoop
./bin/hadoop version
hadoop@fzqs-computer:/usr/local/hadoop$ ./bin/hadoop version
Hadoop 3.2.2
Source code repository https://github.com/apache/hadoop.git -r a3b9c37a397ad4188041dd80621bdeefc46885f2
Compiled by ubuntu on 2021-06-15T05:13Z
Compiled with protoc 3.7.1
From source with checksum 88a4ddb2299aca054416d6b7f81ca55
This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-3.2.2.jar
若出现如上输出,则说明 Hadoop 安装成功。
2. 运行示例
首先在 Hadoop 安装目录下新建 input 子目录:
cd /usr/local/hadoop
sudo mkdir input
复制 “/usr/local/hadoop/etc/hadoop” 中的配置文件到 input 目录下:
sudo cp ./etc/hadoop/*.xml ./input
切换 root 用户 :
su
执行以下代码运行 Grep 示例:
./bin/hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.2.jar grep ./input ./output 'dfs[a-z.]+'
执行完后,输入以下命令查看输出结果:
cat ./output/*
hadoop@fzqs-computer:/usr/local/hadoop$ cat ./output/*
1 dfsadmin