我的Java代码中有一些hadoop文件系统操作(例如:hdfs mkdir
)。当我尝试使用java -cp
运行java程序时,该目录是在linux本地文件系统中创建的。所以我用hadoop jar命令运行程序,并在hdfs中创建目录。现在我计划使用hadoop jar命令运行整个java程序。我想知道使用hadoop jar命令会有任何问题,尤其是从本地文件夹读取文件或执行Runtime.getRuntime().exec(some linux command);
时,如果我的hdfs文件操作的代码片段
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(conf);
boolean res = fs.mkdirs(directory path);
答案 0 :(得分:1)
是的,hadoop jar命令也可用于运行普通的java程序。但相反的是错误的。 Hadoop文件系统操作只能在hadoop环境中运行。但是如果你在hadoop集群中运行,那么linux命令可能会在slave节点中执行。