Jupyter Notebook - AccessControlException:权限被拒绝:user=livy

Tex*_*Tex 1 amazon-emr apache-spark jupyter-notebook

我正在使用 Spark/Livy 运行 EMR 集群,并且想要测试 Spark 结构化流。我正在使用 Jupyter Notebook 托管服务(通过 Livy 连接),但是当我在 Jupyter 中尝试此代码时:

query = (wordCounts
.writeStream
.queryName("streamingDF")
.outputMode('complete')
.format('memory')
.start())
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

调用 o98.start 时发生错误。:org.apache.hadoop.security.AccessControlException:权限被拒绝:user = livy,access = WRITE,inode =“/ mnt / tmp”:hadoop:hadoop:drwxr-xr-x

当 Livy 似乎正在将临时数据写入 HDFS 时,我该如何更改权限以及更改什么权限。我认为使用“内存”选项它会写入驱动程序而不是磁盘。

小智 5

您必须 ssh 进入主节点并运行sudo usermod -a -G hdfsadmingroup livy。默认情况下,为AWS中的jupyter笔记本创建的“livy”用户没有对hdfs的写入权限。

我可能来得太晚了,无法帮助原作者,但希望这能为未来的开发人员节省一些时间。