DataSphereStudio创建工作流时报错No FileSystem for scheme: hdfs问题

DataSphereStudio创建工作流时报错No FileSystem for scheme: hdfs问题

  最近在用微众银行开发的dss工具,但是安装完之后,创建工作流报错No FileSystem for scheme: hdfs。如果你看到这,那说明项目都已经大概熟悉了,这个报错,应该在部署项目中的linkis/linkis-bml报错了,可以通过其中的logs/linkis.out日志看具体错误。
  最开始遇到这个问题,我以为是我安装的服务器上没有hadoophdfs命令,后来试了下不是这个问题。最后好好看看这个报错,才觉得好像代码里缺了FileSystem类,百度一搜,真有了思路。具体解决办法如下:

1.拷贝jar包

  找到这个项目linkis/linkis-bmllib文件夹,从里边下载hadoop-common-x.jar,需要修改它,下载到本地后,通过压缩工具打开,找到如下文件:(我这里是hadoop-common-.3.1.jar)
DataSphereStudio创建工作流时报错No FileSystem for scheme: hdfs问题_第1张图片

2.修改其中的文件

  把这个文件拷贝出来,然后在最后添加下边的内容:

<property>
	<name>fs.hdfs.implname>
	<value>org.apache.hadoop.hdfs.DistributedFileSystemvalue>
	<description>The FileSystem for hdfs: uris.description>
property>

  像下图这样,放在最后即可,但一定是标签内。
DataSphereStudio创建工作流时报错No FileSystem for scheme: hdfs问题_第2张图片
  修改完之后保存,并拷回jar包里的原位置替换原文件。

4.补充额外包

  从上边看出是多加入了org.apache.hadoop.hdfs.DistributedFileSystem 的引入,也应该保证这个类的存在,报错No FileSystem for scheme: hdfs原因也是因为缺少它。

  但是很不幸,这个类不在hadoop-common-x.jar里,还需要其他的包,网上有人说是在hadoop-hdfs-x.jar里,但是我在3.1版本里的这个包里没有找到这个类,后来我在hadoop-hdfs-client-x.jar包里找到了这个类。所以我们还要多加一个这个包。

  当然,如果你的linkis-bml/lib里已经有这个包了,那就不用管了,如果没有的话,那就需要准备好这个包,然后再上传回原位置。

  最后说下,上边需要上传的两个包为:

hadoop-common-x.jar (已经补充过core-default.xml文件)
hadoop-hdfs-client-x.jar 

5.重启项目

  我这里通过排查错误是在linkis-bml项目里,如果你不是这个项目那就去操作另一个项目,都是一样的结构,重启时先执行linkis-bml/bin/stop-bml.sh,再执行start-bml.sh 脚本即可。

6.创建工作流

  最后再去页面上创建工作流一般就会成功了。
DataSphereStudio创建工作流时报错No FileSystem for scheme: hdfs问题_第3张图片

DataSphereStudio创建工作流时报错No FileSystem for scheme: hdfs问题_第4张图片

你可能感兴趣的:(开发工具)