java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hdfs.DFSUt

一、异常

java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hdfs.DFSUtil

二、异常真因

在HBase 1.2.X版本及之前的版本HBase是强依赖于protobuf-2.5.0,如果在依赖中引入高版本的protobuf,会造成hbase的各种问题,所以在有HBase的项目中一定要慎重对待protobuf的版本。

三、解决方法

1、引入protobuf依赖pom

<!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java -->
<dependency>
    <groupId>com.google.protobuf</groupId>
    <artifactId>protobuf-java</artifactId>
    <version>2.5.0</version>
</dependency>

2、下载jar

protobuf-java-2.5.0.jar

二、java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

1、异常原因

Windows未配置Hadoop环境。

三、Windows配置Hadoop环境

1、下载hadoop的tar.gz包

在这里插入图片描述

在这里插入图片描述

(1)解压到D盘根目录下
(2)解压hadooponwindows-master.zip,直接覆盖到hadoop-2.10.1根目录。
在这里插入图片描述

(3)配置hadoop环境变量,创建HADOOP_HOME,另外在Path下添加 %HADOOP_HOME%\bin。
在这里插入图片描述

(4)在hadoop根目录下创建data文件夹,在创建datanode、namenode两个文件夹。
在这里插入图片描述

(5)打开etc\hadoop\hadoop-env.cmd文件,修改jdk
在这里插入图片描述

(6)切换到etc/hadoop目录,运行hadoop-env.cmd
(7)格式化HDFS文件系统,切换到bin目录然后执行命令:hdfs namenode -format
(8)查看一下版本 hadoop version。

启动

切换到 sbin目录 执行:start-dfs.cmd

查看hadoop管理页面:http://localhost:50070

🍅 Java学习路线配套文章:Java学习路线总结,搬砖工逆袭Java架构师(全网最强)
🍅 基础推荐:Java基础教程系列
🍅 实战推荐:Spring Boot基础教程
🍅 简介:CSDN新星计划Java导师🏆、CSDN博客专家✌、黑皮书《搬砖工逆袭Java架构师》作者💪
🍅 扫描主页左侧二维码,加入群聊,一起学习、一起进步
🍅 欢迎点赞 👍 收藏 ⭐留言 📝

上一篇:Java零基础入门 25:java.lang.ClassNotFoundException: com.google.common.base.Preconditions
下一篇:敬请期待

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哪 吒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值