对大数据HDFS文件的管理一般有如下几种方式:
公司主营业务:网站制作、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出洮南免费做网站回馈大家。
- 通过服务器端linux命令行
- 通过HDFS Web端
- 通过本地客户端
使用linux命令行抑或Web端来管理HDFS文件系统,固而简单方便,但通过在客户端使用脚本语言能够实现对Hadoop更加灵活多样的操作,比如实时参数配置(脚本语言里的参数配置优先级最高),循环处理文件等。
前置准备在准备Hadoop客户端API之前,需要有已搭建好的 完全分布式集群 ,集群的搭建可以参考
Hadoop完全分布式服务器集群搭建
zookeeper、hadoop集群已经启动并正常运行
电脑(以mac为例)已安装配置jdk环境,要求1.8版本或以上
已安装 IntelliJ IDEA 软件
IDEA官方下载
下载专业版,可以临时使用下面提供的激活码进行学习,IDEA使用体验超好,推荐大家购买支持正版软件
IDEA临时激活码
安装配置好的maven环境,参考
maven的安装配置以及在IDEA中的使用
主机名配置
#在终端里修改hosts
vi /etc/hosts
#添加主机名,比如我的集群有三个节点:node1、node2、node3
172.19.0.3 node1
172.19.0.4 node2
172.19.0.5 node3
Mac的Hadoop客户端无需下载Hadoop及配置环境变量,在IDEA中maven会下载连接需要的依赖包。
填写 GroupId 和 ArtifactId ,完成Maven项目的创建
项目创建后,一般会自动打开 pom.xml 文件
注意按上面maven配置文章里在idea的 偏好设置 里完成对maven环境的配置
依赖包的配置:在 pom.xml 文件中的 properties 标签下面添加以下依赖包代码。代码添加后会自动联网下载所需的依赖包,可以在上面maven 本地仓库 配置的路径下查看,成功下载所有依赖包后,pom.xml 文件代码中将没有红色字体
org.apache.hadoop hadoop-client 3.3.0 junit junit 4.12 org.slf4j slf4j-log4j12 1.7.30
在IDEA的 src-main-resources 路径下创建一个文件 log4j.properties ,填入以下代码
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
在IDEA的 src-main-java 路径下创建包 com.axl.hdfs,然后在这个包里创建类 HdfsClient ,在类文件里面填入以下代码
package com.axl.hdfs;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Test;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
public class HdfsClient {@Test
public void testMkdirs() throws IOException, URISyntaxException, InterruptedException {//连接集群的namenode地址,node1要修改成自己集群的节点名称
URI uri = new URI("hdfs://node1:8020");
//创建配置文件
Configuration configuration = new Configuration();
//指定用户
String user = "root";
//获取客户端对象
FileSystem fs = FileSystem.get(uri,configuration,user);
//创建测试文件夹
fs.mkdirs(new Path("/test"));
//关闭
fs.close();
}
}
执行以上代码,在 http://node1:9870 Web文件系统里查看,可以看到文件夹通过客户端成功创建
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧