hadoop应用遇到的问题

news/2025/10/26 15:12:30/文章来源:https://www.cnblogs.com/lala-la/p/19166894

image
当遇到如下问题,大致是安装包有问题,需要重新下载安装包,但是直接用命令行下载需要十个小时,这边在widows上下载好在传送到虚拟机
接着按照以下步骤
结合你当前hdfs命令功能受限的问题,以下是彻底修复Hadoop环境的详细操作步骤,确保能正常执行MapReduce词频统计任务:

一、卸载现有异常Hadoop环境

  1. 查找当前hdfs命令位置
    执行以下命令确认异常hdfs的安装路径:

    which hdfs
    

    假设输出为/usr/local/bin/hdfs(非标准Hadoop路径)。

  2. 删除异常Hadoop文件
    若存在非官方Hadoop安装,执行:

    sudo rm -rf /usr/local/bin/hdfs  # 根据实际路径删除
    sudo rm -rf /usr/local/hadoop    # 若存在旧安装目录,一并删除
    

二、安装官方完整Hadoop(以3.3.4版本为例)

1. 安装依赖

sudo apt update
sudo apt install -y openjdk-8-jdk ssh rsync

验证Java安装:

java -version  # 应显示openjdk版本信息

2. 下载并解压Hadoop

# 下载官方包(国内可使用镜像加速)
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz# 解压到/usr/local
sudo tar -zxf hadoop-3.3.4.tar.gz -C /usr/local# 重命名为hadoop并授权
sudo mv /usr/local/hadoop-3.3.4 /usr/local/hadoop
sudo chown -R lalala:lalala /usr/local/hadoop  # 替换为你的用户名

3. 配置环境变量

编辑~/.bashrc文件:

nano ~/.bashrc

在末尾添加:

# Java环境
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
# Hadoop环境
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME

生效配置:

source ~/.bashrc

4. 验证Hadoop安装

执行:

hadoop version

若输出Hadoop 3.3.4版本信息,说明基础安装成功。

三、配置Hadoop伪分布式模式

1. 配置SSH免密登录

# 生成密钥
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
# 授权本地登录
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
# 测试免密登录
ssh localhost  # 应无需密码直接登录,执行exit退出

2. 修改Hadoop配置文件

所有配置文件位于$HADOOP_HOME/etc/hadoop

  • core-site.xml

    nano $HADOOP_HOME/etc/hadoop/core-site.xml
    

    <configuration>中添加:

    <property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value>
    </property>
    
  • hdfs-site.xml

    nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml
    

    添加:

    <property><name>dfs.replication</name><value>1</value>  <!-- 伪分布式单节点,副本数设为1 -->
    </property>
    <property><name>dfs.namenode.name.dir</name><value>/usr/local/hadoop/hdfs/name</value>
    </property>
    <property><name>dfs.datanode.data.dir</name><value>/usr/local/hadoop/hdfs/data</value>
    </property>
    
  • mapred-site.xml

    cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml
    nano $HADOOP_HOME/etc/hadoop/mapred-site.xml
    

    添加:

    <property><name>mapreduce.framework.name</name><value>yarn</value>  <!-- 使用YARN作为MapReduce框架 -->
    </property>
    
  • yarn-site.xml

    nano $HADOOP_HOME/etc/hadoop/yarn-site.xml
    

    添加:

    <property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
    </property>
    <property><name>yarn.resourcemanager.hostname</name><value>localhost</value>
    </property>
    

3. 格式化NameNode(首次安装执行)

hdfs namenode -format

看到SUCCESS提示说明格式化成功。

四、启动Hadoop并验证

  1. 启动HDFS和YARN

    start-dfs.sh   # 启动HDFS
    start-yarn.sh  # 启动YARN
    
  2. 检查进程

    jps
    

    应显示以下进程(缺一不可):

    • NameNode
    • DataNode
    • SecondaryNameNode
    • ResourceManager
    • NodeManager
  3. 验证HDFS命令功能

    hdfs version  # 应输出Hadoop版本
    hdfs dfs -mkdir -p /user/lalala/input  # 创建输入目录(成功无报错)
    
  4. 验证Web界面
    打开浏览器访问:

    • HDFS Web界面:http://localhost:50070(能正常打开)
    • YARN Web界面:http://localhost:8088(能正常打开)

五、上传文件并运行MapReduce任务

  1. 上传本地文件到HDFS

    # 假设wordfile1.txt和wordfile2.txt在当前目录
    hdfs dfs -put wordfile1.txt wordfile2.txt /user/lalala/input/
    # 验证上传
    hdfs dfs -ls /user/lalala/input/  # 应显示两个文件
    
  2. 运行词频统计程序
    使用Hadoop自带的wordcount示例(无需手动编译):

    hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount /user/lalala/input /user/lalala/output
    
  3. 查看结果

    hdfs dfs -cat /user/lalala/output/part-r-00000
    

    应输出正确的词频统计结果。

按以上步骤操作后,你的Hadoop环境将恢复正常,可顺利完成词频统计任务。

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

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

相关文章

企业级Nginx安装部署

企业级Nginx安装部署1. Nginx 安装方式编译安装:使用源码,根据企业业务需求,需要什么功能,编译时添加什么模块,但是安装过程较为繁琐 自动化安装:配置好安装源,直接通过自动化工具安装即可 二进制安装:解压即用…

2025 年 10 月门窗十大品牌综合实力权威推荐榜单,聚焦产能、专利与环保的实力品牌深度解析

2025 年 10 月门窗十大品牌综合实力权威推荐榜单由中国建筑金属结构协会、全国工商联家具装饰业商会联合发布。本次榜单以 “产能保障 + 专利技术 + 环保标准” 为核心评估体系,突破传统单一性能评选局限:产能维度考…

以“听”为基,以“做”为翼

原文:Scalers:大学生上课为什么一定要认真听讲? https://www.scalerstalk.com/816-attention 读《大学生上课为什么一定要认真听讲?》,我对课堂学习的重要性有了更为深刻的体悟。 课堂是知识传递的核心阵地,老师…

序列密码基本模型

随机序列 基本概念 https://www.cnblogs.com/luminescence/p/18938331 最终周期序列 设\(\{s_i\}^{\infty}_{i=1}\)是一条序列,假如存在正整数\(t\)和\(r\),使得对于任意\(i>=t\)都有\(s_{i+r} = s_i\) 则最小整数…

企业级Web应用及Nginx介绍

企业级Web应用及Nginx介绍1. Nginx 简介 Nginx("engine x")是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。其将源代码以…

2025 年 10 月门窗十大品牌综合实力权威推荐榜单,精准检测与稳定性能兼具的行业优选解析

2025 年 10 月门窗十大品牌综合实力权威推荐榜单由中国建筑金属结构协会、全国工商联家具装饰业商会联合发布。本次榜单以 “精准检测认证 + 长期稳定性能” 为核心评估逻辑,突破传统评选单一性:检测维度严格执行《铝…

11种排序算法的Python代码实现

一、算法信息直接插入排序 O(n^2),O(1),稳定 折半插入排序 O(n^2),O(1),稳定 希尔排序 时间复杂度与增量序列有关,O(1) 冒泡排序 O(n^2),O(1),稳定 快速排序 O(nlogn),O(1),不稳定 简单选择排序 O(n^2),O(1),不稳定 堆…

解码Linux文件IO之中文字库原理与应用

中文字库核心概念 在嵌入式项目中显示汉字,需解决 “计算机如何存储和识别汉字” 的问题 —— 早期 ANSI 字符集仅收录 256 个字符(无中文),因此中国制定了GB2312 简体中文字符集,成为嵌入式中文显示的核心标准。…

完整教程:突破NER性能瓶颈:BERT与LLM协同的混合架构实践

完整教程:突破NER性能瓶颈:BERT与LLM协同的混合架构实践2025-10-26 15:00 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important…

使用EasyBlogImageForTypora将Typora上传图床改为博客园——2025/10/26最新

使用Typora写作,图片即时同步到博客网站,无需第三方图床,写完可直接粘贴。支持网络图片上传。目前的使用方法和之前的教程有部分差异,所以重新写一篇使用说明 安装 EasyBlogImageForTypora 下载程序: https://git…

AVCodecContext,AVFormatContext区别

AVCodecContext,AVFormatContext区别1.AVFormatContext: 容器/流级别 核心信息: 封装格式(如.mp4,.mkv,.flv) 流的数量和类型 元数据(Metadata,如作者标题) 时长,比特率 I/O上下文(用于读写数据) 2.AVCodecCon…

题解:P5853 [USACO19DEC] Tree Depth P

题意:对于逆序对数为 \(k\) 的长为 \(n\) 的排列,建出笛卡尔树,求对于每个点 \(i\) 在所有树中的深度之和。 做法: 首先不考虑笛卡尔树的事情,我们只算满足条件的排列个数,这个是经典的可以 \(O(n^3)\) 解决的问…

2025 年 10 月门窗十大品牌综合实力权威推荐榜单,聚焦高端定制需求与全案交付能力

2025 年 10 月门窗十大品牌综合实力权威推荐榜单由中国建筑金属结构协会、全国工商联家具装饰业商会联合发布。本次榜单针对高端市场需求,以 “高端定制 + 全案交付” 为核心评选维度,突破传统评选框架:定制维度评估…

idea或pycharm工具报python packaging tools not found. install packaging tools

这时候,我们找到需要添加的解释器的位置,我这里是以自己添加的为例(位置是:D:\AdvancedSoftware\python3.13.2\install),点击进入这个目录,然后在目录栏输入cmd,并回车进入命令终端打开cmd窗口输入命令: 01:…

力扣 第473场周赛(A~D)

力扣 第473场周赛(A~D)$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");A:3726. 移除十进制表示中的所有零简单题,转str后去掉所有0。1 class Solution: 2…

Java学习与工作汇报总结

一、学习与工作概况 过去一年中,我系统学习了Java核心技术,并参与了多个项目开发实践。通过理论学习和实际应用,掌握了Java面向对象编程、集合框架、多线程、IO流等核心知识,同时熟悉了Spring Boot、MyBatis等主流…

Alibaba Cloud Linux 4 镜像备份到自己的 OSS 中,并同时使用该镜像部署

Alibaba Cloud Linux 4 镜像备份到自己的 OSS 中,并同时使用该镜像部署使用 OSS 直接存储镜像文件 #!/bin/bash# backup-to-oss.sh - 镜像备份到 OSS IMAGE_NAME="portainer/portainer-ce:latest"LOCAL_TAR=…

[K230学习笔记 02] I2C - Ze

硬件背景 I2C如下图所示,简单来说I2C是一种同步、串行、多主从的通信总线,由时钟线(SCL)与数据线(SDA)组成。在总线上的设备由一个唯一的地址识别,并且可以作为发送器或接收器运行,具体取决于设备的功能。图1.…

javascript 学习笔记(有c++基础)(更新中)

javascript 学习笔记(有c++基础)(更新中)javascript学习笔记 了解var 定义变量,可定义任何类型,若不用 var 则为全局变量 打印变量可以使用alert 或 console.log NaN这个值与其他不同,判断方法为 isNaN(NaN) 判断浮…

10.24总结

import java.util.*; import java.util.concurrent.TimeUnit; public class ArithmeticPractice { private Set generatedQuestions = new HashSet<>(); private List questions = new ArrayList<>(); pri…