即使以管理员身份运行,在 Windows 错误 5(拒绝访问)上运行 Spark

Posted

技术标签:

【中文标题】即使以管理员身份运行,在 Windows 错误 5(拒绝访问)上运行 Spark【英文标题】:Running Spark on Windows Error 5 (Access Denied) even when running as Admin 【发布时间】:2016-03-23 01:15:41 【问题描述】:

我从 Spark 开始,所以不太确定我的问题出在哪里,并在这里寻找有用的提示。我正在尝试以管理员身份在 Windows 7 机器上运行 Spark(pyspark),但它似乎无法正常工作(我仍然收到 WindowsError 5)。见下图:

我已经下载了文件(1.2.0 版,为 Hadoop 2.4 或更高版本预构建),通过命令行使用 tar 解压缩并在调用 bin\pyspark 之前设置 IPYTHON=1。当我调用它时,pyspark 会运行,但我会根据图像收到以下错误。

当我尝试调用某些 SparkContext 对象时,我得到 name 'sc' is not defined。

我已经安装了 python 2.7.8,Spyder IDE 并且在公司网络环境中。

有没有人知道这里可能发生了什么?我查了几个问题,例如Why am i getting WindowsError: [Error 5] Access is denied?,但找不到线索。

【问题讨论】:

【参考方案1】:

简单地说:

我遇到了同样的问题。对我来说,是$spark/bin 目录中的*.cmd 文件没有被标记为可执行文件;请尝试通过以下方式确认:

右键单击pyspark2.cmd 并: 属性/安全选项卡然后检查“读取和执行”

我在另一个网站上找到了解决方法,建议下载hadoop-winutils-2.6.0.zip(抱歉没有链接)。以下是使用的 cmd 示例(移动到正确的目录后):

t:\hadoop-winutils-2.6.0\bin\winutils.exe chmod 777 *

我确实需要运行 chmod 777 cmd 以使 /tmp/hive 也可写。 祝你好运!

(......这里是新的 - 抱歉格式不好) (更新:Matt 感谢您修复格式问题!)

根本原因:我通过tar -zxf <file.tgz>在windows上使用的tar程序不适用 提取文件的正确属性。在这种情况下,“可执行”文件 没有正确设置。是的,也许我应该更新我的 cygwin 版本。

【讨论】:

以上是关于即使以管理员身份运行,在 Windows 错误 5(拒绝访问)上运行 Spark的主要内容,如果未能解决你的问题,请参考以下文章

写了一个bat脚本,用来启动windows服务,系统是windows7.每次运行这个脚本都要右击选择以管理员身份运行。

RegSetValueEx - 路径错误,64 位,以管理员身份运行

即使具有管理员权限,批处理脚本访问也被拒绝

我以管理员身份修改HOSTS文件但是不能保存,如何设置

在启用 Windows 身份验证的情况下拒绝访问本地资源

win7,以管理员身份运行了CMD但使用mklink指令还是拒绝访问,有没有大神能指导一下。