无法连接到hdfs

时间:2015-09-11 06:33:42

标签: hadoop hdfs

我正在尝试使用hdfs创建目录,我的Hadoop集群没有在localhost上运行,而是在不同的网络上运行。请告诉我如何正确连接。我使用以下代码连接到hdfs:

    import java.io.BufferedInputStream;
    import java.io.IOException;

    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.Path;


    public class HadoopJava {

        public static void main(String[] args) throws IOException {

            HadoopJava hadoopJava = new HadoopJava();
            hadoopJava.mkdir("/home/anoop/javamkdir");
        }


        public void mkdir(String directory) throws IOException {

            Configuration obj = new Configuration();
            obj.set("fs.default.name", "hdfs://10.111.214.124:50070");

            FileSystem fs = FileSystem.get(obj);
            Path path = new Path(directory);
            fs.mkdirs(path);
            System.out.println("created");
            fs.close();

        }
    }

错误跟踪如下:

  

显示java.lang.NullPointerException         在java.lang.ProcessBuilder.start(ProcessBuilder.java:1010)         在org.apache.hadoop.util.Shell.runCommand(Shell.java:404)         在org.apache.hadoop.util.Shell.run(Shell.java:379)         在org.apache.hadoop.util.Shell $ ShellCommandExecutor.execute(Shell.java:589)         在org.apache.hadoop.util.Shell.execCommand(Shell.java:678)         在org.apache.hadoop.util.Shell.execCommand(Shell.java:661)         at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:639)         在org.apache.hadoop.fs.FilterFileSystem.setPermission(FilterFileSystem.java:468)         在org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:456)         在org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:424)         在org.apache.hadoop.fs.FileSystem.create(FileSystem.java:905)         在org.apache.hadoop.fs.FileSystem.create(FileSystem.java:886)         在org.apache.hadoop.fs.FileSystem.create(FileSystem.java:783)         在org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:365)         在org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:338)         在org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:289)         在org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:2086)         在org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:2055)         在org.apache.hadoop.fs.FileSystem.copyToLocalFile(FileSystem.java:2031)         在HadoopJava.copyfileFromHDFSToLOCAL(HadoopJava.java:74)         在HadoopJava.main(HadoopJava.java:29)

0 个答案:

没有答案