一、Hadoop是什么?
Hadoop是一个开源分布式系统架构
分布式文件系统HDFS——解决大数据存储
分布式计算框架MapReduce——解决大数据计算
分布式资源管理系统YARN
处理海量数据的架构首选
非常快得完成大数据计算任务
已发展成为一个Hadoop生态圈
二、为什么使用Hadoop?
高扩展性,可伸缩
高可靠性
多副本机制,容错高
低成本
无共享架构
灵活,可存储任意类型数据
开源,社区活跃
三、Hadoop架构
HDFS(Hadoop Distributed File System)
分布式文件系统,解决分布式存储
MapReduce
分布式计算框架
YARN
分布式资源管理系统
在Hadoop 2.x中引入
Common
支持所有其他模块的公共工具程序
四、使用JAVA-API对hdfs文件进行操作
首先使用maven部署项目:
链接: https://blog.csdn.net/tigaobansongjiahuan8/article/details/92837341.(详情见这位大哥的博客)
在xml文件中插入这些内容
//在一对 <dependencies></dependencies> 内插入
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.6.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.6.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-hdfs -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
然后会自动下载所需要的东西。
// 通过Java-api 在hdfs上创建目录
public static void testMkdirs()throws Exception{
//创建配置文件
Configuration conf = new Configuration();
//获取文件系统
FileSystem fs = FileSystem.get(new URI("hdfs://192.168.17.66:9000"),conf,"root");
//调用api 操作
fs.mkdirs(new Path("/hdfs/shell"));
//关闭资源
fs.close();
}
//上传,删除,下载等操作只需要换掉fs.后面的方法即可