java 连接hadoop_Hadoop(五)搭建Hadoop客户端与Java访问HDFS集群

前言

上一篇详细介绍了HDFS集群,还有操作HDFS集群的一些命令,常用的命令:

hdfs dfs -ls xxx

hdfs dfs-mkdir -p /xxx/xxx

hdfs dfs-cat xxx

hdfs dfs-put local cluster

hdfs dfs-getcluster local

hdfs dfs-cp /xxx/xxx /xxx/xxx

hdfs dfs-chmod -R 777 /xxx

hdfs dfs-chown -R zyh:zyh /xxx

注意:这里要说明一下-cp,我们可以从本地文件拷贝到集群,集群拷贝到本地,集群拷贝到集群。

一、Hadoop客户端配置

其实在前面配置的每一个集群节点都可以做一个Hadoop客户端。但是我们一般都不会拿用来做集群的服务器来做客户端,需要单独的配置一个客户端。

1)安装JDK

2)安装Hadoop

3)客户端配置子core-site.xml

4080d25a0ca15f951495deb1be5dbddd.png

4)客户端配置之mapred-site.xml

6f6b06fd999ec3dff36c6e793b548197.png

5)客户端配置之yarn-site.xml

58d2788e09a48f6bd64bfb47879009cc.png

以上就搭建了一个Hadoop的客户端

二、Java访问HDFS集群

2.1、HDFS的Java访问接口

1)org.apache.hadoop.fs.FileSystem

是一个通用的文件系统API,提供了不同文件系统的统一访问方式。

2)org.apache.hadoop.fs.Path

是Hadoop文件系统中统一的文件或目录描述,类似于java.io.File对本地文件系统的文件或目录描述。

3)org.apache.hadoop.conf.Configuration

读取、解析配置文件(如core-site.xml/hdfs-default.xml/hdfs-site.xml等),或添加配置的工具类

4)org.apache.hadoop.fs.FSDataOutputStream

对Hadoop中数据输出流的统一封装

5)org.apache.hadoop.fs.FSDataInputStream

对Hadoop中数据输入流的统一封装

2.2、Java访问HDFS主要编程步骤

1)构建Configuration对象,读取并解析相关配置文件

Configuration conf=new Configuration();

2)设置相关属性

conf.set("fs.defaultFS","hdfs://1IP:9000");

3)获取特定文件系统实例fs(以HDFS文件系统实例)

FileSystem fs=FileSystem.get(new URI("hdfs://IP:9000"),conf,“hdfs");

4)通过文件系统实例fs进行文件操作(以删除文件实例)

fs.delete(new Path("/user/liuhl/someWords.txt"));

2.3、使用FileSystem API读取数据文件

有两个静态工厂方法来获取FileSystem实例文件系统。

dad124363a81a4ffc6945dda733c566f.png

常用的就第二个和第四个

三、实战Java访问HDFS集群

3.1、环境介绍

1)使用的是IDEA+Maven来进行测试

2)Maven的pom.xml文件

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

4.0.0

com.jxlg.zyh.hadoop

Hadoop_0010

1.0-SNAPSHOT

org.apache.hadoop

hadoop-common

2.8.1

org.apache.hadoop

hadoop-client

2.8.1

org.apache.hadoop

hadoop-hdfs

2.8.1

org.apache.hadoop

hadoop-mapreduce-client-core

2.8.1

org.apache.hadoop

hadoop-auth

2.8.1

log4j

log4j

1.2.17

commons-logging

commons-logging

1.2

com.google.guava

guava

19.0

commons-collections

commons-collections

3.2.2

<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值