Java零基础入门 26:java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hdfs.DFSUt

Posted 哪 吒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java零基础入门 26: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
下一篇:敬请期待

以上是关于Java零基础入门 26:java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hdfs.DFSUt的主要内容,如果未能解决你的问题,请参考以下文章

小甲鱼零基础入门PYTHON

java零基础入门书籍都有哪些值得推荐?

ZZNUOJ_Java语言从非零基础到入门讲解

ZZNUOJ_Java语言从非零基础到入门讲解

ZZNUOJ_Java语言从非零基础到入门讲解

Java零基础入门路径学习