无法在ubuntu中使用spark shell从hdfs读取文件

qoefvg9y  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(529)

我已经在ubuntuvirtualbox上以独立模式安装了spark和hadoop供我学习。我能够在hdfs上执行正常的hadoop mapreduce操作,而不需要使用spark。但当我在spark shell中使用下面的代码时,

val file=sc.textFile("hdfs://localhost:9000/in/file")
scala>file.count()

我得到“输入路径不存在”错误。core-site.xml具有值为的fs.defaultfshdfs://localhost:9000. 如果我给localhost没有端口号,我会得到“connection rejected”错误,因为它正在侦听默认端口8020。在etc/hosts中,hostname和localhost被设置为环回地址127.0.0.1和127.0.1.1。请让我知道如何解决这个问题。提前谢谢!

y0u0uwnf

y0u0uwnf1#

我可以使用

"hdfs://localhost:9000/user/<user-name>/..."

谢谢你的帮助。。

ccrfmcuu

ccrfmcuu2#

可能您的配置是正确的,但文件丢失,或在一个意外的位置。。。
1) 尝试:

sc.textFile("hdfs://in/file")
sc.textFile("hdfs:///user/<USERNAME>/in/file")

用户名=hadoop,或您自己的用户名
2) 尝试在命令行(spark shell外部)访问该目录/文件:

hdfs dfs -ls /in/file

相关问题