写点什么

Linux 环境下 java 程序提交 spark 任务到 Yarn 报错

作者:刘大猫
  • 2025-10-10
    黑龙江
  • 本文字数:908 字

    阅读完需:约 3 分钟

@[TOC]

摘要

  1. 情况 1:JSON 解析异常

  2. 情况 2:java.lang.InstantiationException spark.sql.driver

  3. 情况 3 中 kafka:java.lang.NoClassDefFoundError: org/apache/kafka/clients/producer/Callback

  4. 情况 4 idea 启动报错:Connection to node -1 could not be established. Broker may not be available

  5. 情况 5 中 kafka: Caused by: java.nio.channels.UnresolvedAddressException master:8080

情况 1:JSON 解析异常


出错原因:spark 命令提交参数 json,到另一个 jar 发现{{或者}}消失了,导致解析异常解决方案:https://blog.csdn.net/u010814849/article/details/78752074 双括号间+空格

情况 2:java.lang.InstantiationException spark.sql.driver

出错原因:spark 操作 mysql 数据库缺少驱动


解决方案:Properties 对象设置 props.put("driver", "com.mysql.jdbc.Driver");

情况 3: 中 kafka:java.lang.NoClassDefFoundError: org/apache/kafka/clients/producer/Callback

出错原因:运行期缺少 jar 包,问题出在 maven 程序打包没把依赖打进去


解决方案:添加打包插件指定打入依赖 jar


<plugin>    <artifactId>maven-assembly-plugin</artifactId>    <configuration>        <descriptorRefs>            <descriptorRef>jar-with-dependencies</descriptorRef>        </descriptorRefs>    </configuration>    <executions>        <execution>            <id>make-assembly</id>            <phase>package</phase>            <goals>                <goal>single</goal>            </goals>        </execution>    </executions></plugin>
复制代码

情况 4:idea 启动报错:Connection to node -1 could not be established. Broker may not be available

出错原因:指定 bootstrap-servers 前面多了空格,导致层级目录出错


解决方案:


情况 5:中 kafka: Caused by: java.nio.channels.UnresolvedAddressException master:8080

出错原因:ip 映射没修改对,导致不认识 master


解决方案:如果是 ambari 安装的 kafka 修改 cinfig 下面的,如果是自己 linux 搭建的,需改动 kafka 下的 cinfig 下的 server.properties,把 PLAINTEXT://localhost:6667 -》 改为 PLAINTEXT://192.168.20.91:6667



用户头像

刘大猫

关注

还未添加个人签名 2022-08-23 加入

还未添加个人简介

评论

发布
暂无评论
Linux环境下 java程序提交spark任务到Yarn报错_人工智能_刘大猫_InfoQ写作社区