Fork me on GitHub

spark+hadoop错误相关记录

spark+hadoop错误相关记录:

错误1:java.lang.Exception: Unknown container. Container either has not started ...Yarn

  • 在我通过运行spark提交yarn任务,在hadoop平台查看日志报错java.lang.Exception: Unknown container. Container either has not started ...Yarn

  • 在yarn-site.xml配置 注意每个节点都要配置

            <property>
                    <name>mapreduce.jobhistory.address</name>
                    <value>linux01:10020</value>
            </property>
            <property>
                    <name>mapreduce.jobhistory.webapp.address</name>
                    <value>linux01:19888</value>
            </property>
    

    linux01为master节点名字

  • 在hadoop 的sbin 目录下执行命令

    mr-jobhistory-daemon.sh start historyserver
    
  • 通过jps查看可以看到

    JobHistoryServer
    

错误2:Caused by: org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container. This token is expired. current time is ....

  • 这个提示token过期问题,很有可能是集群中的时间不统一造成的:

    # 我发现集群中的一台机器是EDT类型,更改EDT为CST具体操作
    mv /etc/localtime /etc/localtime.bak
    ln -s /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime
    date
    
  • 时间同步 每台机器都执行

    yum install ntpdate -y
    ntpdate time.windows.com
    

错误3:ERROR Executor: Exception in task 0.0 in stage 3.0 (TID 5)

java.lang.NullPointerException

在windows下单机执行spark程序出现报错,错误定位在 saveAsTextFile 那块。主要是本机C:\Windows\System32没有hadoop.dll文件

将hadoop下bin目录的hadoop.dll文件复制到C:\Windows\System32

错误4:java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.

  • 或者运行前指定hadoop目录
# 这是因为windows环境变量不兼容的原因 需要下载 winutils.exe 到 C:\Windows\System32 下

注意错误3和错误4可以直接下载到hadoop的bin 目录下,然后运行代码前面添加如下代码指定hadoop路径

System.setProperty("hadoop.home.dir", "D:\\hadoop-2.8.5")
posted @ 2021-06-23 13:46  是阿凯啊  阅读(295)  评论(0编辑  收藏  举报