java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hdfs.DFSUt
目录
-
- 一、异常
- 二、异常真因
- 三、解决方法
-
- 1、引入protobuf依赖pom
- 2、下载jar
- 二、java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
-
- 1、异常原因
- 三、Windows配置Hadoop环境
-
- 1、[下载hadoop的tar.gz包](https://hadoop.apache.org/releases.html)
- 启动
一、异常
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.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hdfs.DFSUt | 胖虎的工具箱-编程导航