很好,我现在有一个星系团和3个工作节点。我还在/var/nfs上安装了一个nfs服务器,并允许777进行测试。我试图运行以下代码来计算文本中的单词:
root@master:/home/usuario# MASTER="spark://10.0.0.1:7077" spark-shell
val inputFile = sc.textFile("/var/nfs/texto.txt")
val counts = inputFile.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_ + _)
counts.toDebugString
counts.cache()
counts.count()
counts.saveAsTextFile("/home/usuario/output");但是星星之火给了我以下错误:
原因: Mkdirs未能创建file:/var/nfs/output-4/_temporary/0/_temporary/attempt_20170614094558_0007_m_000000_20 (exists=false,cwd=file:/opt/spark/work/app-20170614093824-0005/2) )
我已经搜索了许多网站,但我找不到解决我的情况。所有的帮助都是感恩的。
发布于 2017-06-14 09:05:17
当您以主程序作为有效的应用程序( MASTER url )而不是local[*]启动星星之壳时,shell将所有路径视为HDFS;并且只在基础HDFS中执行IO操作,而不是在本地执行IO操作。
YOu已经在本地文件系统中挂载了位置;而这些路径在HDFS中并不存在。
这就是为什么,错误说:exists=false
发布于 2018-06-28 06:42:36
我也有同样的问题。
再次检查您的目录的所有权。
sudo chown -R owner-user:owner-group directoryhttps://stackoverflow.com/questions/44538844
复制相似问题