0

我正在使用 java 将文档索引到 solr。当我索引计算机中的文件时,我的代码可以完美运行。但是当我尝试索引位于 alluxio 中的文件时,我遇到了一个异常“No fileSystem for scheme:alluxio”。我在我的 pom.xml 中添加了 alluxio 依赖项。

这是代码:

public class SparkTestMain {

	public static void main(String[] args) {

	    


            new SparkRead().loadDocuments(
                    "alluxio://XXX.XXX.XXX.XX:19998/**/"       );

	}

}

在 SparkRead 中,我从文件路径进行索引:JavaRDD 文档 = sc.textFile(pathToFile) here, pathToFile = "alluxio://XXX.XXX.XXX.XX:19998/**/"

这是错误:

Exception in thread "main" java.io.IOException: No FileSystem for scheme: http
	at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2579)
	at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2586)
	at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:89)
	at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2625)
	at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2607)
	at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:368)
	at org.apache.hadoop.fs.Path.getFileSystem(Path.java:296)
	at org.apache.hadoop.mapred.FileInputFormat.singleThreadedListStatus(FileInputFormat.java:256)
	at org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:228)
	at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:313)
	at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:200)
	...

4

1 回答 1

0

这是来自 Alluxio 项目网站的文档,解释了为什么您可能会看到“No fileSystem for scheme: alluxio”

答:当您的应用程序(例如 MapReduce、Spark)尝试将 Alluxio 作为 HDFS 兼容的文件系统访问时,会看到此错误消息,但应用程序无法识别 alluxio:// 方案。请确保您的 HDFS 配置文件 core-site.xml(在您的默认 hadoop 安装或 spark/conf/ 如果您为 Spark 自定义此文件)具有以下属性:

<configuration>
  <property>
    <name>fs.alluxio.impl</name>
    <value>alluxio.hadoop.FileSystem</value>
  </property>
</configuration>

在您发布的错误消息中,我确实看到了“方案没有文件系统:http”而不是“方案没有文件系统:alluxio”。“http”是错字吗?

于 2018-08-01T23:09:23.313 回答