Linux 环境下 java 程序提交 spark 任务到 Yarn 报错
@[TOC]
摘要
情况 1:JSON 解析异常
情况 2:java.lang.InstantiationException spark.sql.driver
情况 3 中 kafka:java.lang.NoClassDefFoundError: org/apache/kafka/clients/producer/Callback
情况 4 idea 启动报错:Connection to node -1 could not be established. Broker may not be available
情况 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
情况 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

评论