Hadoop问题集

本文提供了针对Hadoop遇到的各种问题的解决方法,包括配置log4j.properties、用户名一致性、环境变量设置、权限验证、缺失dll文件处理、启动历史服务、环境变量配置以及JournalNode启动问题的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Question One:运行没有显示日志信息

 解决方法:在hadoop的安装目录下的share目录下搜索log4j.properties(注意有两个log4j.properties,选择小的那个),把它放入工程的src下,即可。

   如图:

Question Two:
    Exception in thread "main" org.apache.hadoop.security.
    AccessControlException: Permission denied: user=Administrator, 
    access=EXECUTE, inode="/tmp/hadoop-yarn/staging/Administrator/.
    staging":michael:supergroup:drwxrwx---

解决方法:有以下几种解决方案
        1、把用户名改成和集群中用户名一致-----更改用户名
        2、在环境变量里面加上HADOOP_USER_NAME值是集群中用户名(需要重启)
        3、右键-》run as -》run Configurations -》选中要运行的工程 -》 第二个选项卡Arguments -》 VM arguments下加上-DHADOOP_USER_NAME=你的集群上的用户名
        4、去掉权限验证
            hdfs-site.xml下加入下面配置

    <property>
             <name>dfs.permissions.enabled</name>
             <value>false</value>
    <description>
              If "true", enable permission checking in HDFS.
              If "false", permission checking is turned off,
              but all other behavior is unchanged.
              Switching from one parameter value to the other does not change the mode,
              owner or group of files or directories.
     </description>
     </property>

 

Question Tree:warn Unable to load native-hadoop library for your platform(控制台中出现这个警告)

解决方法:   
    首先下载hadoop.dll,将hadoop.dll加入C盘下windows---system32--再次运行程序,不会出现该警告
    为了避免不必要的错误,希望可以在windows下配置HADOOP_HOME和PATH

Question Four:0.0.0.0:10020连接不上

解决方法:   
    修改mapred-site.xml配置文件  

 mapreduce.jobhistory.address修改成当前主节点主机名:
        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>当前主节点主机名</value>
            <description>MapReduce JobHistory Server IPC host:port</description>
        </property>

     启动历史服务

mr-jobhistory-daemon.sh start historyserver 

 

Question Five:null\bin\winutil.exe

解决方法:  
设置环境变量
            HADOOP_HOME   设置你的hadoop的安装路径
            在path里面加上%HADOOP_HOME%\bin和%HADOOP_HOME%\sbin

Question Six:null chmod 0700

解决方法:   
    hadoop.dll考到c:/windows/system32/
    把hadoop.dll和winutile.exe放到hadoop的bin文件夹里  

 

Question Seven :在本地运行mr任务时,可能部分机器可能只能输入路径为文件,如果想要输入文件夹请使用通配符(*) 

解决方法:   
    d:/wc/{input/*}

HA中namenode有时候起不来,有时候起来一会又消失了。

第一种解决方法:
        手动启动各个节点的journalnode
        然后在start-dfs.sh
第二种解决方法:
       修改配置文件如下:

$ vim /home/betty/soft/hadoop/sbin/start-dfs.sh

找journalnode启动部分,复制粘贴到namenode启动之前,删除下面journalnode启动部分,保存退出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值