在 EMR 4.0 中启动 Spark 时出错

Error starting Spark in EMR 4.0

我在 AWS 中创建了一个 EMR 4.0 实例,其中包含所有可用的应用程序,包括 Spark。我是通过 AWS 控制台手动完成的。我启动了集群,并在它启动时通过 SSH 连接到主节点。还有我运行pysparkpyspark 尝试创建 SparkContext:

时出现以下错误

2015-09-03 19:36:04,195 ERROR Thread-3 spark.SparkContext (Logging.scala:logError(96)) - -ec2-user, access=WRITE, inode="/user":hdfs:hadoop:drwxr-xr-x at

org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkFsPermission(FSPermissionChecker.java:271)

我没有添加任何自定义应用程序,也没有进行引导程序,我希望一切都能正常运行。不确定发生了什么。任何建议将不胜感激。

我这周一直在 EMR 上使用 Spark,发现了一些与用户权限和相对路径有关的奇怪事情。

作为用户,运行 来自您不 'own' 的目录的 Spark 似乎是有问题的。在某些情况下,Spark(或一些底层 Java 部分)想要创建文件或文件夹,他们认为 pwd - 当前目录 - 是最好的地方。

尝试转到主目录

cd ~

然后 运行 pyspark.

以用户 "hadoop" (http://docs.aws.amazon.com/ElasticMapReduce/latest/ManagementGuide/emr-connect-master-node-ssh.html) 身份登录。它具有按预期工作所需的所有适当环境和相关设置。您收到的错误是由于以 "ec2-user" 身份登录所致。