按照官方教程设置,但是仍然报错
Caused by: java.util.concurrent.ExecutionException: LinkisException{errCode=70063, desc='No plugin found spark-2.4.8, please check your configuration', ip='hadoop0004', port=9103, serviceKind='linkis-cg-engineplugin'}
这个时候,我们首先检查配置是否正确
我们直接检查linkis的配置目录: /home/hadoop/dss_linkis/linkis/conf
grep spark *
linkis-env.sh:##YARN REST URL spark engine required
linkis-env.sh:SPARK_CONF_DIR=/home/hadoop/spark-2.4.8-bin-hadoop2.7/conf
linkis.properties:#hadoop/hive/spark config
linkis.properties:spark.config.dir=/home/hadoop/spark-2.4.8-bin-hadoop2.7/conf
linkis.properties:wds.linkis.spark.engine.version=2.4.8
如下图
可以看到这个2.4.8应该是参数 wds.linkis.spark.engine.version 配置的, 那么下面的重点就是检查这个变量是在哪边使用的, 怎么拼接的, 以及如果查找的, 理论上来讲应该根据 SPARK_CONF_DIR 来查找,但是实际上并没有
尝试将 SPARK_CONF_DIR 放入环境变量试一下
vi 行尾加上以下语句export SPARK_CONF_DIR=/home/hadoop/spark-2.4.8-bin-hadoop2.7/confsource /etc/profile
当然以上只是猜测, 那么根据源码如何找呢?
以上代码是从插件缓存中查询, 具体call代码怎么实现的, 还没来得及查找代码, 先去插件目录检查
通过检查插件目录, 发现spark版本是2.4.3
/home/hadoop/dss_linkis/linkis/lib/linkis-engineconn-plugins/spark/plugin/2.4.3
那么把 2.4.8版本改成 2.4.3
vi linkis-env.sh
修改 SPARK_VERSION=2.4.3
vi linkis.properties
修改 wds.linkis.spark.engine.version=2.4.3
重启然后检查日志
tail -f /home/hadoop/dss_linkis/linkis/logs/linkis-cg-engineplugin.log
此问题解决