Hadoop 单机模式(Standalone Mode)部署与 WordCount 测试

通过本次实验,成功搭建了 Hadoop 单机环境并运行了基础 MapReduce 程序,为后续分布式计算学习奠定了基础。

  1. 掌握 Hadoop 单机模式的安装与配置方法。

  2. 熟悉 Hadoop 环境变量的配置及 Java 依赖管理。

  3. 使用 Hadoop 自带的 WordCount 示例程序进行简单的 MapReduce 计算,验证安装是否成功。

环境准备

 操作系统:推荐 Linux(如 Ubuntu/CentOS)或 macOS(Windows 需通过 WSL 或虚拟机)

 Java 环境

安装 JDK 1.8+(Hadoop 3.x 需 Java 8 或 11)

 如果安装过,需要卸载以前的包,并且删掉环境变量,然后干掉目录

如果未安装过可以直接进行下一步操作

# 查询已安装的 JDK 包
rpm -qa | grep 'java\|jdk\|gcj\|jre'# 卸载指定包(替换为实际查询结果)
yum -y remove java*# 修改环境变量,删掉环境那两行
vi /etc/profile#使其生效
source /etc/profile# 清空opt目录下面的东西
cd /opt/
rm -rf *

安装jdk

1.上传jdk压缩包jdk-8u181-linux-x64.tar.gz

没有的可以前往飞书直接下载我的

Docs

2.解压缩后目录如下,删除压缩包节省空间,并改名方便操作

tar -zxvf jdk-8u181-linux-x64.tar.gz -C /opt/rm -rf jdk-8u181-linux-x64.tar.gzmv "jdk1.8.0_181" "jdk1.8"

 

3.配置环境变量

sudo vi /etc/profileexport JAVA_HOME=/opt/jdk1.8  #填写自己的jdk路径
export PATH=$JAVA_HOME/bin:$PATH

4.环境生效

source /etc/profile

5.查看版本确认安装

java -version

安装hadoop

1.没有wegt命令的自行下载

yum -y install wget

2.回到opt目录(和jdk一个目录),下载hadoop

cd /opt
wget https://mirrors.aliyun.com/apache/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

3.检查下载再解压,解压后可以删掉压缩包节省空间,进行改名

# 检查是否wget成功
ls
# 解压缩
tar -zxvf hadoop-3.3.6.tar.gz -C /opt/# 删除压缩包节省空间
rm -rf hadoop-3.3.6.tar.gz#修改名字
mv /opt/hadoop-3.3.6 /opt/hadoop

4.配置环境变量,使其生效

# 配置环境变量(编辑 ~/.bashrc 或 ~/.zshrc)
vim ~/.bashrcexport HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin# 使配置生效
source ~/.bashrc

5.检查hadoop版本,验证是否安装成功

hadoop version

进行测试

计算test.txt(计算就是统计文本单词重复出现多少次)

1.创建测试脚本

# 创建输入目录(注意是创建在在root目录下)
mkdir -p ~/hadoop-input
# 写入测试文本
echo "Hello World Hello Hadoop" > ~/hadoop-input/test.txt
# 检查是否写入
cd ~
ls
cd hadoop-input
ls
cat test.txt

2.查看hadoop提供的案例(只是告诉你hadoop案例放在哪里而已,可以不操作)

cd /opt/hadoop
#查看目录,里面有个share,存放这hadoop的默认案例
cd share/hadoop/mapreduce
ls

3. 执行 WordCount,出现successfully字样,此时统计完成

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar \wordcount ~/hadoop-input ~/hadoop-output

4.查看统计结果

cd ~
cd hadoop-output
ls
cat part-r-00000

单机部署完成

实验总结

  • 成功点

    • 完成 JDK 和 Hadoop 的安装与配置。

    • 验证了 Hadoop 单机模式的基本功能(MapReduce 计算)。

  • 注意事项

    • 需确保环境变量配置正确(如 JAVA_HOMEHADOOP_HOME)。

    • 输入/输出目录需提前创建,避免权限问题。

  • 后续扩展

    • 尝试伪分布式模式(Pseudo-Distributed Mode)部署。

    • 使用其他 Hadoop 示例(如 greppi)进行测试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/78123.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

历史数据分析——运输服务

运输服务板块简介: 运输服务板块主要是为货物与人员流动提供核心服务的企业的集合,涵盖铁路、公路、航空、海运、物流等细分领域。该板块具有强周期属性,与经济复苏、政策调控、供需关系密切关联,尤其是海运领域。有不少国内股市的铁路、公路等相关的上市公司同时属于红利…

openEuler 22.03 安装 Mysql 5.7,TAR离线安装

目录 一、检查系统是否安装其他版本Mariadb数据库二、环境检查2.1 必要环境检查2.2 在线安装(有网络)2.3 离线安装(无网络) 三、下载Mysql2.1 在线下载2.2 离线下载 四、安装Mysql五、配置Mysql六、开放防火墙端口七、数据备份八、…

喷泉码技术在现代物联网中的应用 设计

喷泉码技术在现代物联网中的应用 摘 要 喷泉码作为一种无速率编码技术,凭借其动态生成编码包的特性,在物联网通信中展现出独特的优势。其核心思想在于接收端只需接收到足够数量的任意编码包即可恢复原始数据,这种特性使其特别适用于动态信道和多用户场景。喷泉码的实现主要…

GZIPInputStream 类详解

GZIPInputStream 类详解 GZIPInputStream 是 Java 中用于解压缩 GZIP 格式数据的流类,属于 java.util.zip 包。它是 InflaterInputStream 的子类,专门处理 GZIP 压缩格式(.gz 文件)。 1. 核心功能 解压 GZIP 格式数据(RFC 1952 标准)自动处理 GZIP 头尾信息(校验和、时…

网络编程——TCP和UDP详细讲解

文章目录 TCP/UDP全面详解什么是TCP和UDP?TCP如何保证可靠性?1. 序列号(Sequence Number)2. 确认应答(ACK)3. 超时重传(Timeout Retransmission)4. 窗口控制(Sliding Win…

性能测试工具篇

文章目录 目录1. JMeter介绍1.1 安装JMeter1.2 打开JMeter1.3 JMeter基础配置1.4 JMeter基本使用流程1.5 JMeter元件作用域和执行顺序 2. 重点组件2.1 线程组2.2 HTTP取样器2.3 查看结果树2.4 HTTP请求默认值2.5 JSON提取器2.6 用户定义的变量2.7 JSON断言2.8 同步定时器&#…

rabbitMQ如何确保消息不会丢失

rabbitmq消息丢失的三种情况 生产者将消息发送到RabbitMQ的过程中时,消息丢失。消息发送到RabbitMQ,还未被持久化就丢失了数据。消费者接收到消息,还未处理,比如服务宕机导致消息丢失。 解决方案 生产者发送过程中,…

Beetle-RP2350 扩展板设计

Beetle-RP2350 扩展板设计 本文介绍了 DFRobot Beetle RP2350 开发板的扩展板设计,包括参数特点、效果展示、原理图、实物验证、工程测试等,为 RP2350 系列产品的开发提供了便捷。 PCB 工程详见:Beetle-RP2350扩展板 - 立创开源硬件平台 . …

2025年一加7pro刷twpr / magisk / kali nethunter教程+资源下载+避坑指南

从二手市场500淘了一个一加7pro 12+256 ,根据网上教程刷机但很多坑,折腾一周后搞定,记录下给后人避坑 资源下载:链接:https://pan.quark.cn/s/c16b972509f2 提取码:mUW7 本文是主流程+避坑指南,没有基础的需要手把手教学的shell都不会的就别看了,直接放弃或者tb找人花钱…

java HashMap,高效 哈希

java HashMap 有独特的设计。 哈希表数组的每个位置是一个哈希桶&#xff0c;里面由链表或红黑树实现。&#xff08;> 8 或 < 6 的变化时&#xff0c;避免频繁切换&#xff09; 容量&#xff08;capacity&#xff09;&#xff1a; 哈希表中桶&#xff08;bucket&#xf…

【业务领域】计算机网络基础知识

《计算机网络方面有哪些书籍值得推荐&#xff1f;》 知乎扫盲贴&#xff1a; 《网络是怎么链接的》 初识RDMA技术——RDMA概念&#xff0c;特点&#xff0c;协议&#xff0c;通信流程 采样 》 存储 》传输 》处理 》反应 传感器 存储器 接口 算法/cpu 机器

List--链表

一、链表 1.1 什么是List&#xff1f; 在C语言中&#xff0c;我们需要使用结构体struct来进行List(链表&#xff09;的实现&#xff1a; struct ListNode {DataType Data;//DataType是任意类型的变量定义struct ListNode* next;//指向下一个结点的指针变量 }; 与之前的vect…

tensor 的计算操作

1、创建tensor 常见创建 tensor 的方法 函数 作用 torch.Tensor(*size) 通过指定尺寸&#xff0c;生成一个 值全为 0 的 tensor torch.tensor(*list) 直接通过指定数据&#xff0c;生成tensor&#xff0c;支持 List、Numpy数组 torch.eye(row, column) 按照指定的行列数…

【Java面试题04】MySQL 篇

文章目录 一、前言&#x1f680;&#x1f680;&#x1f680;二、MySQL 篇&#xff1a;☀️☀️☀️1、MySQL 是如何实现事务的? 后序还在更新中~~~三、总结&#xff1a;&#x1f353;&#x1f353;&#x1f353; 一、前言&#x1f680;&#x1f680;&#x1f680; ☀️ 你每一…

UDP/TCP协议知识及相关机制

一.UDP协议 UDP是一种无连接、不可靠、面向报文、全双工传输层的协议~ 1.无连接 &#xff1a; 知道对端的端口号和IP可以直接传输&#xff0c;不需要建立连接 2..不可靠&#xff1a;没有确认机制&#xff0c;没有重传机制&#xff0c;不知道数据包能否能正确到达对端&#xff0…

【AI面试准备】语言模型、语音、多模态等模型能力评估指标和能力边界

面试岗位提出这个要求:掌握语言模型、语音、多模态等模型能力评估指标和能力边界。 以下是针对语言模型、语音模型、多模态模型能力评估指标与能力边界的结构化总结,结合高频面试考点和实际应用场景: 目录 **一、语言模型(LLM)评估与边界**1. **核心评估指标**2. **能力边…

优雅关闭服务:深入理解 SIGINT / SIGTERM 信号处理机制

目录 为什么需要优雅关闭&#xff1f; 什么是 SIGINT 和 SIGTERM&#xff1f; 如何实现优雅关闭&#xff08;以 C 为例&#xff09; 示例代码&#xff08;gRPC 服务 Boost 信号监听&#xff09;&#xff1a; 优雅关闭时的清理内容通常包括&#xff1a; 与 SIGKILL 的区别…

容器化-Docker-集群

一、Docker 集群基础概念​ 1、什么是 Docker 集群​ Docker 集群是由多个 Docker 主机组成的集合,这些主机通过网络连接在一起,共同管理和运行容器。在集群中,我们可以将容器服务均匀地分布到各个节点上,实现负载均衡和资源的高效利用。Docker 集群的核心组件包括管理器…

关于kafka

1.为什么需要消息队列 举个经典的例子。 你是一个网购达人&#xff0c;经常在网上购物。快递小哥到了你的小区后&#xff0c;立刻给你打电话说&#xff1a;“你的快递到了&#xff0c;请马上来取。” 但你是一个合格的牛马&#xff0c;在上班&#xff0c;不方便取快递&#…

微服务即时通信系统(十二)---入口网关子服务

目录 功能设计 模块划分 业务接口/功能示意图 服务实现流程 网关HTTP接口 网关WebSocket接口 总体流程 服务代码实现 客户端长连接管理封装(connectionManage.hpp) proto文件的编写 身份鉴权proto 事件通知proto 各项请求的URL的确定 服务端完成入口网关服务类…