spark-submit到yarn上遇到的各种坑
来源:互联网 发布:注射死刑 知乎 编辑:程序博客网 时间:2024/06/05 00:49
spark-submit到yarn上遇到的各种坑
1、
后面没有搬动code,就没重新下载库了,而且每次package速度很快,1秒左右
2、
后来就上传一个3KB的文件,边上传边google
发现有这样的消息:
一般hadoop集群的瓶颈都在网络方面。hadoop集群用百兆网卡你在逗我。。。另外交换机也得是千兆的
链接为:https://www.zhihu.com/question/21588815
开始测试175MB上传时间
14:16开始cp, 耗时30分钟才好,terminal一直没结果
于是申请千兆交换机,和千兆网线
申请到的千兆网线很短
换了根线后,几秒钟就传好了
3、
看来又是冲突问题,于是我就把dfs下namesecondary/current下的删光了
就没报错了
单机模式下可以跑
直接sbt肯定失败
因为需要RDD变换和schedule
为什么到yarn上就失败了
而且查hadoop日志也没发现ERROR
在yarn上的时候,记得export HADOOP_CONF_DIR=$HADOOP_HOME/env/hadoop,但echo发现也有了
例子也跑过了,但例子都是单机的,即local的,没具体讲yarn上的指令是什么,各个参数哪些是必须加上的,又必须给多少
最后发现还有其他的日志,web端有日志
web端记录了stderr和stdout看到error了
然后说file not exist,任务被slave1执行
因为代码给的是本地文件,必然没有权限跨电脑访问,所以以后一定要注意这点,都传到hdfs上再去处理
补充资料:
http://qindongliang.iteye.com/blog/2038096
http://www.iteblog.com/archives/896
链接为:http://www.iteblog.com/archives/1353
如果是YARN模式,最简单地收集日志的方式是使用YARN的日志收集工具(yarn logs -applicationId ),这个工具可以收集你应用程序相关的运行日志,但是这个工具是有限制的:应用程序必须运行完,因为YARN必须首先聚合这些日志;而且你必须开启日志聚合功能(yarn.log-aggregation-enable,在默认情况下,这个参数是false)
不得不说看日志是万能的办法
试一下直接hdfs
通过hadoop下的bin中的hdfs
./hdfs dfs -copyFromLocal /home/spark/workspace/spark-1.5.2/lib/spark-assembly-1.5.2-hadoop2.6.0.jar /user/spark/spark-assembly.jar
不得不说 提前上传好很多,因为每次在spark上跑jar都要上传这个文件的
之后spark-submit的时候,通过--conf spark.yarn.jar=hdfs:///user/spark/spark-assembly.jar来避免每次执行都要重新upload一下
然后web端的日志就报错了
web的地址为master:8088/cluster
点击刚刚运行的任务的ID后,点击logs,在stderr中可以看到错误,在stdout中可以看到输出结果
报错是
16/01/28 18:49:40 ERROR yarn.ApplicationMaster: User class threw exception: org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: file:/home/spark/Desktop/test
org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: file:/home/spark/Desktop/test
而这个任务被slave1执行了
才想起来,文件在master上,slave1怎么会找到
于是传到hdfs上后,再spark-submit或者直接scp test到slave1的桌面,然后spark-submit
1、
对于sbt package
稍微搬动了code的位置,又要重新下载lib,所以不要移动代码位置。后面没有搬动code,就没重新下载库了,而且每次package速度很快,1秒左右
2、
175MB大小的文件上传到hdfs一直卡住,思考原因:
权限问题?路径问题?磁盘容量问题?后来就上传一个3KB的文件,边上传边google
发现有这样的消息:
一般hadoop集群的瓶颈都在网络方面。hadoop集群用百兆网卡你在逗我。。。另外交换机也得是千兆的
链接为:https://www.zhihu.com/question/21588815
所以,猜测交换机太慢,果然,这个交换机10兆的带宽,神坑
不得不吐槽,选科研project前好好考察设备比较好。
3KB的文件不到5s就上传好了开始测试175MB上传时间
14:16开始cp, 耗时30分钟才好,terminal一直没结果
于是申请千兆交换机,和千兆网线
申请到的千兆网线很短
换了根线后,几秒钟就传好了
3、
对于secondarynamenode报错
关键报错信息为:inconsistent check point看来又是冲突问题,于是我就把dfs下namesecondary/current下的删光了
就没报错了
4、spark-submit还是不成功,可以运行了,但是运行结果是fail
这个程序是quick-start上的单机模式下可以跑
直接sbt肯定失败
因为需要RDD变换和schedule
为什么到yarn上就失败了
而且查hadoop日志也没发现ERROR
在yarn上的时候,记得export HADOOP_CONF_DIR=$HADOOP_HOME/env/hadoop,但echo发现也有了
例子也跑过了,但例子都是单机的,即local的,没具体讲yarn上的指令是什么,各个参数哪些是必须加上的,又必须给多少
最后发现还有其他的日志,web端有日志
web端记录了stderr和stdout看到error了
然后说file not exist,任务被slave1执行
因为代码给的是本地文件,必然没有权限跨电脑访问,所以以后一定要注意这点,都传到hdfs上再去处理
补充资料:
http://qindongliang.iteye.com/blog/2038096
http://www.iteblog.com/archives/896
链接为:http://www.iteblog.com/archives/1353
如果是YARN模式,最简单地收集日志的方式是使用YARN的日志收集工具(yarn logs -applicationId ),这个工具可以收集你应用程序相关的运行日志,但是这个工具是有限制的:应用程序必须运行完,因为YARN必须首先聚合这些日志;而且你必须开启日志聚合功能(yarn.log-aggregation-enable,在默认情况下,这个参数是false)
不得不说看日志是万能的办法
试一下直接hdfs
通过hadoop下的bin中的hdfs
./hdfs dfs -copyFromLocal /home/spark/workspace/spark-1.5.2/lib/spark-assembly-1.5.2-hadoop2.6.0.jar /user/spark/spark-assembly.jar
不得不说 提前上传好很多,因为每次在spark上跑jar都要上传这个文件的
之后spark-submit的时候,通过--conf spark.yarn.jar=hdfs:///user/spark/spark-assembly.jar来避免每次执行都要重新upload一下
然后web端的日志就报错了
web的地址为master:8088/cluster
点击刚刚运行的任务的ID后,点击logs,在stderr中可以看到错误,在stdout中可以看到输出结果
报错是
16/01/28 18:49:40 ERROR yarn.ApplicationMaster: User class threw exception: org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: file:/home/spark/Desktop/test
org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: file:/home/spark/Desktop/test
而这个任务被slave1执行了
才想起来,文件在master上,slave1怎么会找到
于是传到hdfs上后,再spark-submit或者直接scp test到slave1的桌面,然后spark-submit
然后在web端的stdout就可看到结果
0 0
- spark-submit到yarn上遇到的各种坑
- 部署zeppelin时遇到的spark on yarn的submit方式问题
- Spark-submit模式yarn-cluster和yarn-client的区别
- [Spark | Yarn | Hadoop] Spark Submit over Yarn
- 将Spark部署到Hadoop YARN上
- Spark on Yarn遇到的几个问题
- Spark on Yarn遇到的几个问题
- Spark on Yarn遇到的几个问题
- Spark on Yarn可能遇到的问题
- Spark on Yarn遇到的几个问题
- Spark on Yarn遇到的几个问题
- spark on yarn 出现的问题【测试wordcount程序遇到的错误,ipc.client连接到yarn的端口失败】
- 「解决」spark on yarn上遇到的一个问题
- 在Ambari上用rest提交Spark到Yarn上
- 关于spark-submit 使用yarn-client客户端提交spark任务的问题
- 从IE6到IE11上运行WebGL 3D遇到的各种坑
- Spark on Yarn安装过程遇到的错误
- Spark on Yarn遇到的几个问题及解决思路
- 黑马程序员——Java正则表达式
- struts2全局结果
- struts2-通过action从后台将json数据传到前台的方法(二)
- Androidx学习笔记(34)---新闻客户端之获取新闻xml文件并解析
- 【数据结构】二叉树的前中后序遍历递归和非递归实现
- spark-submit到yarn上遇到的各种坑
- INSTALL CGAL on ubuntu and use it in qt
- Fragment already added 解决办法
- 链表存储数据并排序
- 黑马程序员 OC中compare字符串比较及其参数理解
- 蓝桥杯算法训练 连续正整数的和
- sql存储过程中启用事务
- Allegro 16.6 模块复用
- 三个异常,谷歌围棋AI击败欧洲冠军又是精心策划的过度营销 精选