HDFS是Hadoop存储数据的架构
分为主从节点
主节点:namenode(一个)
从节点:datanodes(多个)
namenode:接收用户操作请求、维护文件系统的目录结构、管理文件与block之间的关系,block与datanode之间的关系
datanode:存储文件、文件被分成多个block存储在磁盘上(默认64M)、为保证数据安全,文件会有多个备份(默认3份)
对hadoop的hdfs常用操作方式 hadoop fs XXX
查看目录结构 hadoop fs -ls 目录 root@sherry:~# hadoop fs -ls root@sherry:~# hadoop fs -ls /user/root/output_wordcount 递归查看目录结构 root@sherry:~# hadoop fs -lsr / 创建文件夹 root@sherry:~# hadoop fs -mkdir myFile root@sherry:~# hadoop fs -mkdir /user/root/myFile/newDir 删除文件夹 root@sherry:~# hadoop fs -rmr /user/root/myFile/newDir 删除文件 root@sherry:~# hadoop fs -rm /user/root/myFile/hadoop-1.2.1.tar.gz 上传文件 root@sherry:~# hadoop fs -put /home/sherry/下载/hadoop-1.2.1.tar.gz /user/root/myFile 下载文件 root@sherry:~# hadoop fs -get /user/root/output_wordcount/_logs/history/job_201506271513_0001_conf.xml /home/sherry/下载/ 查看文件内容 root@sherry:~# hadoop fs -text /user/root/output_wordcount/_logs/history/job_201506271513_0001_1435411515184_root_wordcount
通过网页查看hdfs使用情况
http://localhost:50070/dfshealth.jsp
通过网页查看hadoop集群运行情况
http://localhost:50030/jobtracker.jsp
文件写入:
Client向NameNode发起写入请求
NameNode根据文件大小和文件块的分配情况,返回DataNode的信息
Client将文件划分成多个Block,根据DateNode的地址信息,按照顺序将其写入到每个DataNode
文件读取:
Client向NameNode发起文件读取请求
NameNode返回文件存储的DataNode信息
Client读取文件信息
文件块复制
NameNode发现部分文件的Block不符合最小复制数的要求,或者部分DataNode失效
通知DataNode相互复制Block
DataNode开始相互复制