> 文章列表 > hdfs基础

hdfs基础

hdfs基础

Hdfs 分布式文件系统
交互: 1客户端发送 请求数据 ,2.文件系统返回所需数据存储的所在节点
3客户端根据返回的节点信息到对应的节点上获取信息

hdfs不适合小文件的存储,原因后面讲

Hdfs shell 介绍
Bin/hdfs dfs                     -xxx                    schema://authority/path
   命令   分布式文件系统  具体的操作参数  hdfs          ip:port      具体路径

hdfs文件操作
Hdfs dfs -ls /
Hdfs dfs -put NOTICE.TXT /
Hdfs dfs -ls / |grep /|wc -l
Hdfs dfs -ls / |awk '{print $8 , $5}'  >> /count.txt

java操作HDFS:
win和linux都有装hadoop
建maven项目 记得配置log4j
面向对象的思想:hdfs的配置对象 -》core-site.xml中的内容
Configuration conf = new Configuration();
Conf.set("fs.defaultFS","http://bigdata01:9000");  <!--set是一个键值对的数据结构-->
FileSystem fs =  FileSystem.get(conf);
输入流对象  输出流对象  本地文件系统:FileInputStream or FileOutputStream
hdfs文件系统: FSDataInputStream FSDataOutputStream
//本地上传文件到hdfs:FileInputStream fis = new  FileInputStream(new Path("C:\\\\"));  <!--注意\\\\转义-->
FSDataOutputStream fos = fs.create(new Path(""));
//工具类实现输入流到输出流的转换
IOUtils.copyBytes(fis,fos,1024,true);  //最后一个参数表示是否关闭流

HDFS体系结构:
NameNode 老板
SecondaryNameNode  老板的秘书
DataNode 员工