【Hadoop】 | 搭建HA之报错锦集

news/2024/5/20 4:03:07 标签: hadoop, hdfs, 大数据



知识目录

  • 一、写在前面✨
  • 二、Hadoop的active结点无法主备切换🔥
  • 三、Hadoop Web端无法上传文件🍉
  • 四、hdfs创建文件夹报错🍭
  • 五、IDEA操作Hdfs无法初始化集群🔥
  • 六、Java无法连接Hdfs🍭
  • 七、找不到Hadoop家目录🔥
  • 八、IDEA对MapReduce的toString调用报错🍭
  • 九、总结🔥

一、写在前面✨

大家好!我是初心,希望我们一路走来能坚守初心!

今天跟大家分享的文章是 Hadoop搭建过程中的报错锦集 ,希望能帮助到大家!本篇文章收录于 初心 的 Hadoop 专栏。

🏠 个人主页:初心%个人主页
🧑 个人简介:大家好,我是初心,和大家共同努力
💕欢迎大家:这里是CSDN,我记录知识的地方,喜欢的话请三连,有问题请私信😘

💕 有些人,一旦错过就不在。』—— 刘若英「后来」

二、Hadoop的active结点无法主备切换🔥

  • 报错内容

java.lang.RuntimeException: Unable to fence NameNode at slave1/192.168.10.107:8020

安装好的Hadoop高可用集群中,其中有一个结点可以从 standby 状态变为 active 状态,但是另外一台不可以。

  • 解决方案

集群中的所有结点都安装 psmisc 插件(执行下面的命令安装)即可。

sudo yum install -y psmisc

三、Hadoop Web端无法上传文件🍉

  • 报错内容

Couldn't upload the file xxx.

  • 解决方案

修改C:\Windows\System32\drivers\etc的 hosts 文件,将虚拟机 ip 和主机名对应起来,添加到 hosts 文件首部。

hdfs_38">四、hdfs创建文件夹报错🍭

  • 报错内容

mkdir: test: No such file or directory

在这里插入图片描述
这是我在执行 hdfs 创建文件夹时报错的内容,当时执行的命令是:

hdfs dfs -mkdir /data1/data

显然,我是想创建一个二级目录,但是 /data1 目录不存在,因此无法创建 data 目录,需要加上 -p 参数,递归创建目录。

  • 解决方案

加上 -p 参数,递归创建参数即可。

hdfs dfs -mkdir -p /data1/data

五、IDEA操作Hdfs无法初始化集群🔥

  • 报错内容

Cannot initialize Cluster. Please check your configuration for mapreduce.framework.name and the correspond server addresses.

这是我在使用 IDEA 操作 hdfs 进行 mapreduce 编程时报错的,因为是第一次使用,不明所以直接上手了,因此报了这样一个错误!原因是依赖导入不完整。

  • 解决方案

将依赖导入完全到 pom.xml 即可,我使用的是 hadoop-3.1.3 版本,这里提供最基本的 MapReduce 编程依赖(Maven)。

<dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>3.1.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-hdfs</artifactId>
            <version>3.1.3</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>3.1.3</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-mapreduce-client-core -->
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-mapreduce-client-core</artifactId>
            <version>3.1.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-mapreduce-client-common</artifactId>
            <version>3.1.3</version>
        </dependency>

六、Java无法连接Hdfs🍭

  • 报错内容

Exception in thread "main" java.net.ConnectException: Call From LAPTOP-EE5QDU8J/192.168.10.1 to master:9000 failed on connection exception: java.net.ConnectException: Connection refused: no further information;

在使用Java连接 hdfs 时,报错无法连接,经过一番检查后,ip 没错,是端口号错误了,我使用的是8020端口,而代码上写的是9000端口,将9000改为8020即可。

  • 解决方案

hdfs-site.xml 文件中查看 hdfs 的内部通讯地址,使用该地址即可。

七、找不到Hadoop家目录🔥

  • 报错内容

java.io.FileNotFoundException: java.io.FileNotFoundException: Hadoop home directory F:\APP\BigData\Hadoop\hadoop\hadoop-3.1.0 does not exist

在F:\APP\BigData\Hadoop\hadoop\hadoop-3.1.0目录下无法找到 hadoop ,这个报错的根本原因是没有配置好 HADOOP_HOME ,只需要将 hadoop 环境变量配置好即可。

  • 解决方案

到高级系统设置中配置 Hadoop 的环境变量,并配置操作用户即可。


之后将 HADOOP_HOME 添加到 path 中即可。

%HADOOP_HOME%\bin

八、IDEA对MapReduce的toString调用报错🍭

  • 报错内容

Method threw ‘java.lang.IllegalStateException‘ exception. Cannot evaluate org.apache.hadoop.mapreduc

在执行 MapReduce 程序时,分为 map 函数 和 reduce 函数,在启动方法 run 中有做关于 map 和 reduce 的配置,但是报错了如上内容。

  • 解决方案

关闭 IDEA 中的启用“ tostring() ”对象视图

九、总结🔥

本文主要跟大家分享我在搭建 Hadoop HA 以及 MapReduce 编程时遇到的部分错误。

这就是今天要分享给大家的全部内容了,我们下期再见!😊

🏠 本文由初心原创,首发于CSDN博客, 博客主页:初心%🏠

🏠 我在CSDN等你哦!😍


http://www.niftyadmin.cn/n/461034.html

相关文章

【从零开始学习JAVA | 第十五篇】 多态

前言&#xff1a; 本篇我们来解释一下什么是多态关系&#xff0c;多态关系属于面向对象三大特征的最后一个&#xff0c;可以说面向对象的重点就在多态&#xff0c;因此我们要学好面向对象编程思想&#xff0c;就要学好多态。 多态&#xff1a; Java中的多态是指同一类对象在不同…

gtk_table_attch与gtk_grid_attach的区别

gtk_table_attch与gtk_grid_attach的区别 button gtk_button_new_with_label (“Short fat button”); gtk_table_attach (GTK_TABLE (table), button, 0, 2, 3, 4, xoptions, yoptions, 0, 0); 0—2–3—4 左 右 上 下 /* 横线从左边的0移到右边的2&#xff0c;竖线从上边的…

MySQL中常用的函数及代码详解

以下是一些常用的SQL函数及其代码详解&#xff1a; COUNT()&#xff1a;用于计算指定列的行数。 例子&#xff1a;SELECT COUNT(*) FROM table_name; 解释&#xff1a;这将返回table_name表中的行数。 SUM()&#xff1a;用于计算指定列的总和。 例子&#xff1a;SELECT SUM(co…

3 python进阶篇

文章目录 面向对象类属性和类方法类属性类方法静态方法 单例模式__new__ 方法类实现单例模式 异常 、模块和包异常自定义异常 模块和包模块的搜索顺序包的init文件发布模块&#xff08;了解&#xff09; 文件seek文件/目录的常用管理操作eval函数 补充性知识位运算小技巧 参考我…

深度学习(10)之Roboflow 使用详解:数据集标注、训练 及 下载

Roboflow 使用详解&#xff1a;数据集标注、训练 及 下载 本文在 用YOLOv8推荐的Roboflow工具来训练自己的数据集 的基础上进行了修改 介绍如何从网站下载开源数据集详细介绍如何借助 roboflow 标注数据集并自动转换为可直接训练的数据格式 获取开源数据集 跳转找到开源分页…

企业级开发项目和自学项目到底有什么区别

前言 好久不见了各位&#xff01;最近几个月都未更新&#xff0c;是因为从春招开始就在投简历面试实习岗位&#xff0c;然后入职&#xff0c;最后成功成为了一个半成品后端练习生&#xff0c;想说的话有太多太多 下面就站在一个在校实习生的身份&#xff0c;结合自己最近几个月…

永磁同步电机在线参数辨识综述

优点 实时性&#xff1a;在线参数辨识能够在电机实际运行时进行参数估计&#xff0c;可以实时地获取电机的参数信息。这使得在线参数辨识更适用于需要实时调节和优化电机控制策略的应用场景。 动态适应性&#xff1a;在线参数辨识可以根据电机的实时工作状态和环境变化来动态地…

补充python部分细节性知识点

未完&#xff0c;持续更新中。。。 一、数据类型 1.浮点型&#xff1a;float 使用浮点型的变量相加之后可能会存在值不准确的问题&#xff0c;可以考虑引入decimal模块,decimal其实也是一种数据类型&#xff0c;是十进制的数据类型&#xff0c;实际上就是将flaot类型进行一次…