终于成功写了个从windows上传文件到远程Linux上hadoop系统,并下载回来的程序
【结果图】
新建Netbeans工程,选择普通的Java SE应用程序,命令行的即可。其实Hadoop的程序并不复杂,只是内部依赖的包众多,很容易导致编译出错。
【系统配置简介】
1、使用Netbeans IDE的环境是windows,远程连接的Hadoop在地址为10.100.78.101的Linux上(VMware虚拟机)
2、windows、linux下都使用相同的Hadoop 2.7.3版本解压
3、Linux下的core-site.xml内容需要更改为实际ip地址10.100.78.101,而不是原先的localhost
4、在windows端,我把待上传的文件存储在 D:/!虚拟机/!待上传文件/hello.txt
内容为:
First file upload system test
第一个上传文件系统测试
|
【步骤一,导入包】工程文件同样用Netbeans创建,需要导入外部hadoop众多,这里说明:
hadoop-2.7.3\share\hadoop\common\lib\
下的所有jar包
hadoop-2.7.3\share\hadoop\common\
下的hadoop-common-2.7.3.jar
hadoop-2.7.3\share\hadoop\mapreduce\
下的hadoop-mapreduce-client-core-2.7.3.jar
hadoop-2.7.3\share\hadoop\hdfs\
下的hadoop-hdfs-2.7.3.jar
(关于部分包解决的问题详见文末)
【步骤二】编写程序:
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class UploadHadoop {
|