java - 在java中运行hadoop命令copyFromLocalFile时出错
问题描述
我是 Hadoop 集群节点的新手。我尝试在 java 中运行 Hadoop 命令
以下代码是将文件从本地复制到 HDFS。
当我使用命令外壳时,它正在工作:
hadoop fs -copyFromLocal /home/my_name/tutorial_append.txt /user/my_name/tutorial_append.txt
但是当我用这样的java代码实现它时:
import java.io.IOException;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class UploadTest {
public static void main(String[] args) throws IOException {
System.out.print("Hello World");
String localPath="/home/my_name/tutorial_append.txt";
String uri ="hdfs://0.0.0.0:8020";
String hdfsdir="hdfs://0.0.0.0:8020/user/my_name/";
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(URI.create(uri),conf);
fs.copyFromLocalFile(new Path(localPath),new Path(hdfsdir));
}
}
compile javac -cp hadoop-core-1.2.1.jar UploadTest.java
run java -cp hadoop-core-1.2.1.jar UploadTest
Error: Could not find or load main class UploadTest
我已经尝试了很多次,但我没有成功。
解决了
最后我构建到 jar 文件并使用 hadoop jar UploadTest.jar 运行
解决方案
推荐阅读
- python - 构建 Docker 映像需要很长时间
- tensorflow - 这个 IDLE python 代码有什么问题?
- c++ - 为什么下面的程序不会崩溃?
- c# - 如何在托管 (C#) 和非托管 (C++) 代码之间来回传递数组内容
- json - 如何使用弹性搜索将文档存储和获取为 Json
- python - 在c ++ api中加载一个python训练的xgboost,预测结果为空
- javascript - 使用 VSC Liveserver 启动时异步/等待不工作
- linux - 检查分配名称并根据分配值执行某些操作的脚本存在问题
- mysql - 如何通过加入sql中的两列来获取状态
- python - 我可以使用 python 打开一个 XML 文件,对其进行格式化,然后再次保存吗?