Hadoop本地模式部署配置及测试示范

本文介绍在Ubuntu系统安装和配置Hadoop与JDK的过程。先下载对应安装包,推荐从清华源下载Hadoop。接着解压安装包,配置环境变量,可在 /etc/profile 或 ~/.bashrc 中操作。最后进行本地模式测试,使用Hadoop自带示例程序统计文件单词次数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载hadoop与jdk安装包

Hadoop是一个基于Java语言开发的分布式计算框架, 因此在安装和运行Hadoop之前, 需要先安装Java Development Kit (JDK).

如何下载 :

这里是在Ubuntu系统自带的火狐浏览器中直接搜索jdk官网进行安装即可.

需要注意的是我们要选择计算机的CPU架构对应的安装包.

这里使用 uname -m 指令来查看虚拟机的虚拟硬件架构.

427e1d3a708e4855ac79eb2c2cbb2ffb.png

41d9fb1d244b43478cf8c832c8502f66.png

 接着我们去下载Hadoop安装包, 但是由于Hadoop官网的服务器位于美国, 下载速度会很慢.

 推荐去国内的开源软件镜像站点下载.

 这里选择清华源.

f484ca82683b4354b5b48424bbc9f5fb.png

进入页面, 在搜索栏中直接搜索apache, 会出现它的很多子项目, 选择hadoop这一栏.

如下所示, 进行安装包的下载. 

0833d18f7f9a4080b1add76b06c074ac.png

下载安装包后还需进行解压并选择解压的路径

指令如下:

f4c52f42f5a54562b7429d4e2fa06b25.png

 e6f2a990cf7e452f9565f3c2e976448c.png

这里JDK的推荐目录一般为/usr/lib,而Hadoop的推荐目录一般为/usr/local/.

不过,你也可以将它们安装在当前用户目录下,但这样文件的执行权限将仅限于本地用户.

下面是tar命令的常用选项详细介绍:

 -c 或 --create:用于创建归档文件, 可以将多个文件或目录打包成一个tar文件.
 -x 或 --extract:用于提取归档文件, 可以从一个tar文件中解压出其中的文件和目录.
 -z 或 --gzip:用于在tar命令中同时使用gzip进行压缩和解压缩. 当使用-c选项创建tar文件时,进行gzip压缩. 同样地,当使用-x选项解压缩tar文件时,同时进行gzip解压缩.

 -v 或 --verbose:用于在操作过程中显示详细信息,包括被处理的文件和目录.

 -f 或 --file:用于指定归档文件名. 后面需要接上文件名或路径.

 -C 或 --directory:用于指定解压到的目录, 后面需要接上目录的路径.

接着,我们需要进行环境变量的配置.

进行环境变量配置的目的是为了能够在任何路径下执行特定的可执行文件,而不需要在执行时指定文件的完整路径

这里推荐使用 vim 文本编辑器来配置环境变量,如果操作系统中没有则需要下载. 

a804afb160454dadb7a6eceac74306bc.png

我们需要在 /etc/profile 或 ~/.bashrc 中来配置环境变量.

特别说明一下:

 /etc/profile  和 ~/.bashrc  是两个不同的文件,它们在 Bash Shell 中具有不同的作用和范围.

-  /etc/profile 是系统级别的配置文件,它对所有用户都生效. 它是在用户登录时被读取和执行的. 在这个文件中, 可以设置系统级别的环境变量、路径和其他全局配置选项.  但是修改  /etc/profile 需要超级用户权限.

-  ~/.bashrc  是用户级别的配置文件,它只对当前用户生效. 它是在用户每次打开新的终端窗口时被读取和执行的. 在这个文件中,可以设置用户级别的环境变量、别名、函数和其他个性化配置选项. 修改  ~/.bashrc  不需要超级用户权限.

因此, /etc/profile  适用于系统范围的配置,而  ~/.bashrc  适用于个人用户的配置. 通常,可以在 /etc/profile  中设置系统级别的环境变量和路径,然后在 ~/.bashrc  中设置个人用户的环境变量、别名和其他个性化配置. 这样可以保持系统级别和用户级别的配置分离,方便管理和维护.

这里使用 vim .bashrc 指令进行环境变量配置.

0d2d49ffb0db4282825a17ad33a753e4.png

下面对这些添加的变量进行一些必要说明:

-  JAVA_HOME  指定 Java 开发环境的根目录,这里设置为  /usr/lib/jdk-21.0.1 
-  JRE_HOME  指定 Java 运行环境的根目录,这里设置为 ${JAVA_HOME}/jre  
-  CLASSPATH  指定 Java 类的搜索路径,这里设置为当前目录、Java 标准库和 Java 运行环境的库.

-  PATH 指定可执行文件的搜索路径,这里将 Java 可执行文件的路径加入 PATH 中 

这些设置可以让系统在运行 Java 程序时找到正确的 Java 开发环境,并且能够正确地加载所需的类和库 .

补充:

在 CLASSPATH 环境变量中,. 表示当前目录.

在 CLASSPATH 环境变量中,: 是用来分隔不同路径的符号.

当 CLASSPATH 中包含 . 时,表示将当前目录作为类的搜索路径. 这意味着系统会在当前目录下查找所需的类文件 .

通过使用 : 分隔不同的路径,可以将多个路径组合起来,使得系统能够在这些路径中搜索所需的类文件.

当编译或者运行 Java 程序时,系统会照 CLASSPATH 中定义的路径顺序依次搜索类文件,直到找到所需的类为止.

注意: 变量名与文件的安装路径之间的 "=" 不能有空格, 否则会报错.

f9694809e9374faeb806f1a760448028.png

最后使用 用source .bashrc命令来重新加载.bashrc文件,使得修改的配置立即生效.

471cf712a66a40ab8407ac848af5eacc.png

分别使用  java -version  与  hadoop version  指令查看安装包的版本信息.

若正常输出就代表环境变量配置成功.

特别提醒:

Java和Hadoop是两个不同的软件,它们的命令行参数和行为可能会有所不同

也就是java -version是Java的标准命令行参数,用于显示Java的版本信息

使用Hadoop时应该使用hadoop version命令来查看Hadoop的版本信息,

而不是hadoop -version.

既然环境配置成功,接下来就是进行本地模式的测试.

这里使用Hadoop中 hadoop-mapreduce-examples-3.3.6.jar 文件进行测试.

757c07b5ed844342a9f361ca89b02110.png

在这之前需要在家目录下, 创建一个input目录用于存放要执行的测试文件.

接着, 使用vim创建一个test.txt文件并写入用于测试的内容.

d146eaecef4e4b279ef0db75596a1ad4.png

本次测试是统计文件中每单词出现的次数.

为了使操作结果的数量更易于观察,可以通过使用for循环和cat命令将一个文件的内容复制并追加到另一个文件中来实现.

 d62b94867c854afab9744cf987e79104.png

并执行以下指令 

bcf191240d1e4d8c94f4abb460da9212.png

这个指令是运行Hadoop自带的一个MapReduce示例程序  wordcount ,用于统计一个文本文件中每个单词出现的次数.

具体来说,这个指令的含义如下:

-  hadoop jar :运行Hadoop的一个Java程序,后面跟随要运行的Java程序的JAR包路径.

-${HADOOP_HOME}/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar:要运行的Java程序的JAR包路径,这里是Hadoop自带的一个MapReduce示例程序的路径.

-  wordcount :要运行的Java程序的类名,即 WordCount 类.

-  input/ :输入文件路径,即要统计的文本文件所在的目录.

-  output :输出文件路径,即统计结果要写入的目录.

这个指令的作用是在Hadoop集群上启动  wordcount  程序,对 input/ 目录下的文本文件进行单词计数,并将结果输出到 output 目录中.

最后使用以下指令来查看测试的结果.  


bc99ef4dfe394493a02b2c033e9601fe.png

### JDK 安装与环境变量配置 为了成功安装和配置 Java Development Kit (JDK),需要按照以下方法操作。首先,在目标机器上下载适合的操作系统的 JDK 版本并进行安装[^1]。对于 Linux 系统,可以通过命令行工具或者图形界面完成安装过程。 接着,配置 JDK 的环境变量是非常重要的一步。这通常涉及设置 `JAVA_HOME` 变量指向 JDK 的安装路径,并将其加入到系统的 PATH 中以便全局可用[^2]。具体步骤如下: #### 设置 JAVA_HOME 和 PATH 编辑 `.bashrc` 或者 `/etc/profile` 文件来永久化这些更改: ```bash export JAVA_HOME=/usr/lib/jvm/java-<version>-openjdk-amd64 export PATH=$PATH:$JAVA_HOME/bin ``` 保存修改后的文件并通过执行以下命令使新配置生效: ```bash source ~/.bashrc ``` 验证安装是否成功的常用方式是通过终端运行 java 命令检查版本号: ```bash java -version ``` 如果显示的是所期望的 JDK 版本,则说明安装无误[^4]。 ### Hadoop 本地单机模式部署测试 一旦 JDK 成功安装完毕之后,就可以着手于 Hadoop本地单节点部署工作了。获取官方发布的稳定版压缩包比如 hadoop-3.1.3.tar.gz 并解压至指定目录。 随后同样需调整相应的环境变量以支持 Hadoop 正常运作。主要包含定义 `HADOOP_HOME` 路径以及再次确认已有的 `JAVA_HOME` 是否正确设定好。 #### 编辑 Hadoop 配置文件 进入 Hadoop 解压根目录下的 etc/hadoop 子目录找到名为 **hadoop-env.sh** 的脚本文件,打开它并将其中的一句默认形式为 `export JAVA_HOME=${JAVA_HOME}` 替换成实际存在的 JDK 地址[^3]: ```bash vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh ``` 更新该行为类似于下面的内容(视具体情况而定): ```bash export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 ``` 最后启动服务前可以简单创建一些用于 MapReduce 处理的数据集作为输入样本数据存储在用户家目录下新建的一个子文件夹里: ```bash mkdir ~/input cd ~/input echo "Hello World" > input.txt ``` 此时具备条件去尝试提交第一个简单的 WordCount 类型的任务给这个刚刚建立起来的小规模实验平台来进行初步的功能验证了。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值