组成部分
- Client客户端:切分文件---->block;与NameNode交互元数据;与dataNode交互读取写入数据
- Namenode(Master):存储文件元信息(内存)、心跳机制监测datanode状态;配置副本策略;处理所有客户端的请求
- Secondarynode:与Namenode保持同步,随时顶替
- Datanode(Slave):存储具体的数据
- Block:客户端的文件分块,默认128M
hadoop 进程
namenode
datanode
secondary namenode
jps 查看进程
hadoop核心组件
HDFS, 分布式存储,将一个大文件切分成指定大小的数据块,分别存储在多台计算机并建立多个副本
- 默认3个数据副本,2个在同一个机架,1个在另一个机架
- datanode 定期向namenode发送心跳信息,检测datanode是否挂掉
- hdfs写文件的流程
- hdfs读取文件的流程
MapReduce,分布式计算
Yarn ,资源管理
hadoop用途
- 海量数据存储,分布式存储,如云平台
- 日志处理
- 搜索引擎,爬取大量数据,存入自己的服务器
- 数据挖掘,如广告推荐
HDFS优点
- 高可靠性
- 高可扩展性
- 高效性
- 高容错性
- 低成本,廉价的PC 机,横向扩展
缺点
- 不能做到低延时,不能做到毫秒级别的响应
- 不适合 大量的小文件存储,文件的元信息存储在namenode的内存中
- 一次写入,多次读取,不支持修改
Hadoop 命令
hadoop fs -ls path 查看目录
hadoop fs -mkdir /test
hadoop fs -mkdir -p /test/a
hadoop fs -put file1 /hadoop/ 上传文件
hadoop fs -get /hadoop/ /home/lauf/ 下载文件
hadoop fs -rm /hadoop/a.txt 删除
hadoop fs -rm -r /hadoop/folder
hadoop fs -text /hadoop/a.txt 查看内容
hadoop fs -cat /hadoop/a.txt 查看内容
-mv -cp 在hdfs 中复制
hadoop fs -chgrp xxx
hadoop fs -chown xxx
hadoop fs -chmod xxxx
新版本的命令:
hdfs dfs -ls /
'/hbase/WALs/master,16201,1632810655323-splitting is non empty': Directory is not empty
#递归删除
hadoop fs -rm -r /hbase/WALs/