java - 无法在本地文件系统上创建 Hadoop 序列文件

标签 java hadoop

I found this example如何写入本地文件系统,但它抛出这个异常:

Exception in thread "main" java.io.IOException: (null) entry in command string: null chmod 0644 C:\temp\test.seq
    at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:770)
    at org.apache.hadoop.util.Shell.execCommand(Shell.java:866)
    at org.apache.hadoop.util.Shell.execCommand(Shell.java:849)
    at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:733)
    at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.<init>(RawLocalFileSystem.java:225)
    at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.<init>(RawLocalFileSystem.java:209)
    at org.apache.hadoop.fs.RawLocalFileSystem.createOutputStreamWithMode(RawLocalFileSystem.java:307)
    at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:296)
    at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:328)
    at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSOutputSummer.<init>(ChecksumFileSystem.java:398)
    at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:461)
    at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:440)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:911)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:892)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:789)
    at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:778)
    at org.apache.hadoop.io.SequenceFile$Writer.<init>(SequenceFile.java:1168)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)

在 Windows 10 机器上运行此程序。我什至尝试使用 msys git bash shell,认为这可能有助于 JVM 模拟 chmod 操作。没有改变任何东西。有关如何在 Windows 上执行此操作的任何建议?

最佳答案

我也遇到了这个错误,按照步骤操作后解决了。 (注意:我使用的是 Spark 2.0.2 和 Hadoop 2.7)

  1. 验证您是否遇到“java.io.IOException:无法在 Hadoop 二进制文件中找到可执行文件 null\bin\winutils.exe。”。您可以通过运行“spark-shell”命令来检查它。
  2. 我遇到了上述错误。这是因为我没有在环境变量中添加“HADOOP_HOME”。添加“HADOOP_HOME”后,在我的情况下与“SPARK_HOME”相同,问题已解决。

关于java - 无法在本地文件系统上创建 Hadoop 序列文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39605614/

相关文章:

hadoop - mapper类在hadoop mapreduce程序中是强制性的吗

java - 在 map 上绘制轨迹代号一

java - dispatchKeyEvent 在 Unity 中不触发 - native Android 插件

java - 我可以将列表作为参数传递给 Scala/Java 中以这种方式定义的方法 detectorFormatAutomatically(delimitersForDetection :Char*)

java - hadoop程序中的类型不匹配错误

hadoop - 多个输入到MapReduce作业

apache - Hadoop数据节点未运行

java - javafx 警报中 'default' 按钮的 CSS 选择器?

java - 无法从 Controller 包类访问 bean 包类

java - 分布式集群Hadoop和Hbase