繁体   English   中英

如何在Intel hadoop中使用spark-shell读取hd​​fs?

[英]How to read from hdfs using spark-shell in Intel hadoop?

我无法从spark-shell(火花版本为1.2.1)读取HDFS(Intel发行版hadoop,Hadoop版本为1.0.3)。 我使用命令mvn -Dhadoop.version=1.0.3 clean package构建spark,启动spark-shell并使用sc.textFile()读取HDFS文件,例外是:

WARN hdfs.DFSClient:无法连接到/10.xx.xx.xx:50010,添加到deadNodes和continuejava.net.SocketTimeoutException:120000毫秒超时,同时等待通道准备好读取。 ch:java.nio.channels.SocketChannel [connected local = / 10.xx.xx.xx:44264 remote = / 10.xx.xx.xx:50010] ... ERROR executor.Executor:阶段任务1.0中的异常0.0(TID 1)java.io.IOException:无法获取块:blk_8724894648624652503_7309 file = / research / Files / README.md

同样的问题在这里提出: http//mail-archives.us.apache.org/mod_mbox/spark-user/201309.mbox/%3CF97ADEE4FBA8F6478453E148FE9E2E8D3CCA37A9@HASMSX106.ger.corp.intel.com%3E

这是建议的解决方案:

“除了在./project/SparkBuild.scala文件中指定HADOOP_VERSION = 1.0.3之外,您还需要指定libraryDependencies并命名”spark-core“解析器。否则,sbt将获取hadoop-core的1.0.3版本来自apache而不是Intel。您可以设置自己指定的本地或远程存储库“

任何人都可以详细说明如何指定SBT应从英特尔获取hadoop-core(可在我们的内部存储库中获得)?

试着看看文档的这个页面

Spark正在使用一些我不太了解的SBT / maven集成,但似乎在根目录中的pom.xml指定了存储库

如果这不起作用,您可以探索sbt文件指定resolvers


对于记录,这是链接文档的摘录

将应用程序链接到Hadoop版本

除了针对正确的版本编译Spark本身之外,您还需要在该版本的hadoop-client上添加Maven依赖项到您运行的任何Spark应用程序,这样他们也可以与群集上的HDFS版本进行通信。 如果您使用的是CDH,则还需要添加Cloudera Maven存储库。 这在SBT中如下所示:

libraryDependencies += "org.apache.hadoop" % "hadoop-client" % "<version>"

// If using CDH, also add Cloudera repo
resolvers += "Cloudera Repository" at "https://repository.cloudera.com/artifactory/cloudera-repos/"

或者在Maven:

<project>
  <dependencies>
    ...
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-client</artifactId>
      <version>[version]</version>
    </dependency>
  </dependencies>

  <!-- If using CDH, also add Cloudera repo -->
  <repositories>
    ...
    <repository>
      <id>Cloudera repository</id>
      <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
    </repository>
  </repositories>
</project>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM