安装运行hadoop遇到的错误以及解决办法

记录一下自己安装运行hadoop踩过的坑,方便以后复习查阅

  • 在控制台中输入hdfs后提示Error: JAVA_HOME is incorrectly set. Please update D:\hadoop\conf\hadoop-env.cmd错误如下图

    error-0.png

提示JAVA_HOME不正确,让修改D:\hadoop\etc\hadoop\hadoop-env.cmd这个文件,打开看看,

error-1.png

讲道理这么写没问题,然后在控制台输出了一下JAVA_HOME,也能正确显示,但是就是提示你JAVA_HOME不正确

error-2.png

后来在网上查到说jdk目录C:\Program Files\Java\jdk1.8.0_171中间有个空格,所以 才出现错误

解决办法:

PROGRA~1代替Program Files即可,即改为C:\PROGRA~1\Java\jdk1.8.0_171

error-3.png

  • 如果遇到namenode启动但是datanode没有启动

    可能是多次格式化namenodedatanode中保存(即配置文件中dfs.data.dir在本地系统的路径)的current/VERSION文件只是你第一次格式化时保存的namenodeID,因此就会造成datanodenamenode之间的id不一致。

    解决办法:

    1.把配置文件中dfs.datanode.data.dir在本地系统的路径下的current/VERSION中的clusterID改为与namenode一样。重启即可!

    2.或者直接把tmp文件删掉重新格式化

  • 在调试程序的时候出现错误java.net.MalformedURLException: unknown protocol: hdfs

    是因为程序不知道有hdfs协议造成的,是由于默认的情况下,只支持http协议的

    解决办法:

    需要加上下面一段代码

    //设定开启HDFS协议
    
    URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
    
  • 出现错误Exception in thread "main" org.apache.hadoop.security.AccessControlException

    没有权限

    解决办法:

    修改hdfs-site.xml ,增加

    <property>
      <name>dfs.permissions.enabled</name>
      <value>false</value>
    </property>
    
  • eclipse远程执行的时候出现权限问题Exception in thread "main" org.apache.hadoop.security.AccessControlException:
    Permission denied: user=casuall, access=EXECUTE,
    inode="/tmp":hadoop:supergroup:drwx------

    解决办法:

    Run as—> Run Configurations—>Arguments—>VM arguments:—> -DHADOOP_USER_NAME=hadoop

  • Exception message: /bin/bash: 第0行:fg: 无任务控制

    原因:因为在wondows系统中无法使用#!/bin/bash平台兼容性的问题的

    解决办法:

    1:解决:打成jar包放在linux下运行。ok

    2:跨平台提交的参数

    //:如果要从windows系统中运行这个job提交客户端的程序,则需要加这个跨平台提交的参数
    conf.set("mapreduce.app-submission.cross-platform","true");

    如果打成jar包提交到linux中去,跨平台提交的参数可以去掉

  • spark shell启动警告 Unable to load native-hadoop library for your platform

    解决办法:

    spark-env.sh文件中加入LD_LIBRARY_PATH环境变量LD_LIBRARY_PATH=$HADOOP_HOME/lib/native

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值