Error: JAVA_HOME is incorrectly set. Please update C:\hadoop-2.5.1\conf\hadoop-env.cmd ‘

简介: Error: JAVA_HOME is incorrectly set. Please update C:\hadoop-2.5.1\conf\hadoop-env.cmd ‘

报错显示


  有些同学在Windows下解压安装好Hadoop后执行hadoop version命令报错了,报错信息如下:

The system cannot find the path specified.
Error: JAVA_HOME is incorrectly set.
Please update C:\hadoop-2.5.1\conf\hadoop-env.cmd '-Xmx512m' is not recognized as an internal or external command, ooperable program or batch file. 



错误原因


  这是因为在hadoop-env.cmd里面配置jdk路径时出错了,有以下两种可能:

  • 一是因为jdk路径错了。
  • 二是因为jdk的安装路径里面有空格,例如jdk直接安装在了Program Files文件夹里面。



解决办法


这里有三种解决办法:


   将jdk重新安装一下,安装目录不要有中文和空格这些特殊字符,然后重新设置jdk路径。步骤如下:


   1) 将JDK目录复制到C盘或者其他盘:C:\Java\ jdk1.8.0_40


   2)编辑 etc hadoop hadoop-env.cmd并更改:设置JAVA_HOME = C:\Java\ jdk1.8.0_40


   3)运行cmd并执行hadoop-env.cmd


   4)再检查" hadoop version"是否仍在报错


图片如下所示:



  1. 如果是安装在C盘的Program Files文件夹里面,可以采用cmd字符替代,如下所示:
Progra~1 = 'Program Files'
  Progra~2 = 'Program Files(x86)'



在hadoop-env.cmd中添加以下配置:


set JAVA_HOME=C:\Progra~1\Java\jdk1.8.0_40\

   要解决必须在没有空格的路径中安装另一个JDK的问题,可以使用Windows命令mklink创建符号链接。


   步骤如下:


   1)以管理员身份打开cmd提示符,创建符号链接。

     在这里,我将Hadoop报错的路径(带有Program Files)设置为一个没有空格的简单路径。 / D 参数表示正在创建目录符号链接。如下:

   mklink / D java_home" C: Program Files Java jdk1.7.0_65"


   2)在hadoop-env.cmd中,将JAVA_HOME设置为您创建的符号链接:

   设置JAVA_HOME = java_home



结语


每个人刚开始学习的时候都是小白,这个过程中或多或少的都会看看别人写的博客,过程中也可能会踩过很多坑。遇到问题的时候,我们可以记录下来,不管是对自己还是对其他学习的小伙伴都很有帮助。


程序员大多都是很孤独的,写作也可以让自己的孤独“有处安放”,多去表达,多点表达,对于不善言辞的程序员总是有很多好处,博文写作的过程中最重要的是思路清晰有条理,和敲代码最大的不同是,编程有了明确的目标,日复一日必成高手,而写作如果只是为了写而写,往往会失了初心,丢了本真。写作不仅可以提高言语表达能力,更可以培养持续做事情的毅力,最好得是能遇到很多志同道合的朋友。




相关文章
|
4月前
|
存储 Java 数据处理
Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位
【10月更文挑战第16天】Java Set接口凭借其独特的“不重复”特性,在集合框架中占据重要地位。本文通过快速去重和高效查找两个案例,展示了Set如何简化数据处理流程,提升代码效率。使用HashSet可轻松实现数据去重,而contains方法则提供了快速查找的功能,彰显了Set在处理大量数据时的优势。
56 2
|
4月前
|
Java
在Java的世界里,Set只接纳独一无二的元素。
【10月更文挑战第16天】在Java的世界里,Set只接纳独一无二的元素。本文通过拟人化的手法,讲述了重复元素从初次尝试加入Set被拒绝,到经历挣扎、反思,最终通过改变自己,成为独特个体并被Set接纳的全过程。示例代码展示了这一过程的技术实现。
35 1
|
1月前
|
存储 分布式计算 Hadoop
基于Java的Hadoop文件处理系统:高效分布式数据解析与存储
本文介绍了如何借鉴Hadoop的设计思想,使用Java实现其核心功能MapReduce,解决海量数据处理问题。通过类比图书馆管理系统,详细解释了Hadoop的两大组件:HDFS(分布式文件系统)和MapReduce(分布式计算模型)。具体实现了单词统计任务,并扩展支持CSV和JSON格式的数据解析。为了提升性能,引入了Combiner减少中间数据传输,以及自定义Partitioner解决数据倾斜问题。最后总结了Hadoop在大数据处理中的重要性,鼓励Java开发者学习Hadoop以拓展技术边界。
50 7
|
1月前
|
Java Windows
【Azure Function】部署Java Function失败:报错deploy [ERROR] Status code 401和警告 'China North 3' may not be a valid region
1:deploy [ERROR] Status code 401, (empty body). 2: China North 3 may not be a valid region,please refer to https://aka.ms/maven_function_configuration#supported-regions for values. 3:  <azure.functions.maven.plugin.version>1.36.0</azure.functions.maven.plugin.version>
38 11
|
3月前
|
JSON Java 关系型数据库
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
在Java中,使用mybatis-plus更新实体类对象到mysql,其中一个字段对应数据库中json数据类型,更新时报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
331 4
Java更新数据库报错:Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
|
3月前
|
存储 算法 Java
Java Set深度解析:为何它能成为“无重复”的代名词?
Java的集合框架中,Set接口以其“无重复”特性著称。本文解析了Set的实现原理,包括HashSet和TreeSet的不同数据结构和算法,以及如何通过示例代码实现最佳实践。选择合适的Set实现类和正确实现自定义对象的hashCode()和equals()方法是关键。
57 4
|
3月前
|
Java
那些与Java Set擦肩而过的重复元素,都经历了什么?
在Java的世界里,Set如同一位浪漫而坚定的恋人,只对独一无二的元素情有独钟。重复元素虽屡遭拒绝,但通过反思和成长,最终变得独特,赢得了Set的认可。示例代码展示了这一过程,揭示了成长与独特性的浪漫故事。
36 4
|
3月前
|
Java 开发者
Java Set:当“重复”遇见它,秒变“独宠”!
在Java编程中,Set接口确保集合中的元素不重复,每个元素都是独一无二的“独宠”。本文介绍了Set的两种常见实现:HashSet和TreeSet。HashSet基于哈希表实现,提供高效的添加、删除和查找操作;TreeSet基于红黑树实现,不仅去重还能对元素进行排序。通过示例代码,展示了这两种集合的具体应用,帮助开发者更好地理解和使用Set。
43 4
|
3月前
|
存储 Java 开发者
在 Java 中,如何遍历一个 Set 集合?
【10月更文挑战第30天】开发者可以根据具体的需求和代码风格选择合适的遍历方式。增强for循环简洁直观,适用于大多数简单的遍历场景;迭代器则更加灵活,可在遍历过程中进行更多复杂的操作;而Lambda表达式和`forEach`方法则提供了一种更简洁的函数式编程风格的遍历方式。
|
3月前
|
存储 Java
判断一个元素是否在 Java 中的 Set 集合中
【10月更文挑战第30天】使用`contains()`方法可以方便快捷地判断一个元素是否在Java中的`Set`集合中,但对于自定义对象,需要注意重写`equals()`方法以确保正确的判断结果,同时根据具体的性能需求选择合适的`Set`实现类。

热门文章

最新文章