————当在集群模式下提交spark程序进行运行时,报错: java.lang.IllegalStateException: Subprocess exited with status 1. Command ran: ******************
1. 首先寻找问题出现的原因:
原因是基于Spark程序中调用的执行程序或命令无法正常执行的原因。
2. 解决方法:由于是spark程序间接调用的程序,因此不会直接报出具体原因,只会告诉是子程序执行异常。
方案一:抛开集群的运行,先后现需要确保子程序在单机模式下运行正常,如果单机运行不正常,那么指定无法在集群上运行的。
方案二: 由于集群运行模式下数据需要从hdfs文件系统获取数据,因此需要核对读入数据是否成功上传到了对应的hdfs目录中。
方案三:由于调用的子程序需要有执行权限,因此需要核对本地和hdfs上的子程序文件是否拥有执行权限,如果没有需要通过“chmod 777 文件路径”进行添加执行权限。
恭喜您已经解决了问题!希望能够为您的问题提供帮助!