Linux环境下 java程序提交spark任务到Yarn报错
【摘要】 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发现{{或者}}消失了,导致解析异常
解决方案: 双括号间+空格
情况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
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)