Windows 上的 spark-shell 错误 - 如果不使用 hadoop,可以忽略它吗?
Posted
技术标签:
【中文标题】Windows 上的 spark-shell 错误 - 如果不使用 hadoop,可以忽略它吗?【英文标题】:spark-shell error on Windows - can it be ignored if not using hadoop? 【发布时间】:2017-05-05 15:17:13 【问题描述】:启动 spark-shell 时出现以下错误。我将使用 Spark 来处理 SQL Server 中的数据。我可以忽略错误吗?
java.io.IOException:在 Hadoop 二进制文件中找不到可执行的 null\bin\winutils.exe。
java.lang.IllegalArgumentException:实例化“org.apache.spark.sql.hive.HiveSessionState”时出错
原因:java.lang.reflect.InvocationTargetException:java.lang.IllegalArgumentException:实例化'org.apache.spark.sql.hive.HiveExternalCatalog'时出错:
原因:java.lang.IllegalArgumentException: 实例化 'org.apache.spark.sql.hive.HiveExternalCatalog' 时出错
原因:java.lang.IllegalArgumentException: 实例化 'org.apache.spark.sql.hive.HiveExternalCatalog' 时出错
引起:java.lang.reflect.InvocationTargetException:java.lang.reflect.InvocationTargetException:java.lang.RuntimeException:java.lang.RuntimeException:运行命令获取文件权限时出错:java.io.IOException:( null) 命令字符串中的条目:null ls -F C:\tmp\hive
原因:java.lang.reflect.InvocationTargetException:java.lang.RuntimeException:java.lang.RuntimeException:运行命令以获取文件权限时出错:java.io.IOException:命令字符串中的(null)条目:null ls -F C:\tmp\hive
原因:java.lang.RuntimeException: java.lang.RuntimeException: 运行命令以获取文件权限时出错:java.io.IOException: (null) entry in command string: null ls -F C:\tmp\hive
【问题讨论】:
java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. spark Eclipse on windows 7的可能重复 【参考方案1】:tl;dr你宁愿不要。
嗯,这可能可能,但鉴于您刚刚开始前往 Spark 的土地,努力不会有回报。
Windows 对我来说从来都不是一个对开发人员友好的操作系统,每当我教人们使用 Spark 并且他们使用 Windows 时,我只是理所当然地认为我们必须通过 winutils.exe
设置,但很多时候还需要如何工作在命令行上。
请按如下方式安装winutils.exe
:
-
以管理员身份运行
cmd
从https://github.com/steveloughran/winutils 存储库下载winutils.exe 二进制文件(使用hadoop-2.7.1 for Spark 2)
将 winutils.exe 二进制文件保存到您选择的目录,例如c:\hadoop\bin
设置 HADOOP_HOME 以反映带有 winutils.exe 的目录(不带 bin
),例如set HADOOP_HOME=c:\hadoop
设置 PATH 环境变量以包含 %HADOOP_HOME%\bin
创建c:\tmp\hive
目录
执行winutils.exe chmod -R 777 \tmp\hive
打开 spark-shell
并运行 spark.range(1).show
以查看单行数据集。
【讨论】:
感谢它的工作!不幸的是,我们的 IT 不提供 Linux 开发 PC。这些步骤应该在官方文档中。以上是关于Windows 上的 spark-shell 错误 - 如果不使用 hadoop,可以忽略它吗?的主要内容,如果未能解决你的问题,请参考以下文章
多节点火花集群上的 spark-shell 无法在远程工作节点上旋转执行程序
Spark-shell报error: not found错误