在正常业务应用场景中,大数据集群都运行在服务器机房。与集群的交互方式需要本地编写jar包然后提交服务器运行。可以在本地搭建客户端,通过eclipse操作集群。
win10下eclipse客户端
配置环境 win10、hadoop3.1.3、 jdk1.8
1.将hadoop-3.1.3.tar.gz 解压到非中文的路径下
2.设置 HADOOP_HOME、JAVA_HOME, 并将 HADOOP_HOME\bin JAVA_HOME\bin 路径添加到环境变量中
3.在hadoop的etc\hadoop 文件夹中,找到hadoop-env.cmd文件并打开修改,找到 JAVA_HOME的设置项目,set JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_131
java默认是按照在C:\Program Files\Java这个路径中,而 Program Files 中间有空格,空格无法识别,将 Program Files 修改为 PROGRA~1 即可,或者将 C:\Program Files\ 用双引号 ” C:\Program Files”\ Java\jdk1.8.0_131 设置也行。
如果只是需要通过eclipse操作集群的大数据,就不需要在本地部署hadoop的可执环境。
eclipse客户端连接服务器
1.启动eclipse,新建好新的java项目
2.将本地解压缩的hadoop的目录中,找到share/hadoop文件夹,这个文件夹下存放了所有的jar包,分布在不同的文件中。需要将这个文件夹里所有的jar包都拷贝出来。
3.在eclipse中,file -new-folder, 创建一个lib的jar包,将上一步的jar包,都拷贝到eclipse的lib中
4.bulid path — add to bulid path
此时,已经完成了客户端的配置操作
通过eclipse客户端操作hdfs
通过eclipse操作hdfs需要有三个步骤:
第一步:创建Configuration配置信息对象,这个类在org.apache.hadoop.conf.Configuration中
第二步:获取文件系统FileSystem,这个类在org.apache.hadoop.fs.FileSystem中
第三步:通过文件系统操作hdfs
操作完之后关闭文件系统。
代码:
package cn.dtsc.cn;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Test;
public class HDFSClient {
public static void main(String[] args) throws Exception {
//创建配置信息对象
Configuration configuration = new Configuration();
//获取文件系统
FileSystem fSystem = FileSystem.get(new URI("hdfs://192.168.31.100:9000"), configuration, "yibin");
//操作文件系统
fSystem.copyFromLocalFile(new Path("C:/Users/Administrator/Desktop/统计学.txt"), new Path("/yibin"));
fSystem.close();
}
}
客户端中core-site.xml配置
再上一步的eclipse操作中,没有使用hadoop的配置文件,在连接hadoop集群时,在生成文件系统阶段,通过将集群地址和用户名作为参数传入的方式,来确定hdfs的地址和用户信息。
当然也有可选择的配置信息。将本地解压缩的hadoop的core-site.xml文件,复制到eclipse的项目中,在配置文件中设置hdfs信息:

完成配置后,在获取文件系统时,就不需要在传入参数,只需要FileSystem fs = FileSystem.get(configuration);即可。