1. hadoop的节点存储
- 文件首先在NameNode节点中以镜像文件方式保存DataNode节点的目录结构
- 多个DataNode节点负责分布式存储,默认3个节点
- NameNode通知客户端已准备好存储节点,可以开始存储数据
- 文件直接写入第一个DataNode节点(数据块形式,512k)
- 由第一个节点拷贝至其他节点
- 每完成一个数据块的全节点拷贝,就以日志形式反馈给前节点和文件以及NameNode,如果一个节点损坏,由NameNode分配新的节点
- 确保保存的DataNode一定是设定的节点数(3个),即便节点有损坏也不影响数据完整性
- secondaryNameNode辅助节点,对NameNode进行镜像文件的实时备份
2. hadoop的计算
- YARN负责计算任务的分配和资源调度
- YARN会将计算任务就近分配给DataNode节点进行计算
- 当MapReduce要进行计算时,需要ResourceManager调用YARN找寻DataNode
- NodeManager负责在DataNode节点上执行计算任务
3. hadoop的运行模式
- 独立(本地)模式
无需运行任何守护进程,所有程序都在同一个JVM上执行,适合开发阶段 - 伪分布模式
hadoop守护进程运行在本地机器上,模拟一个小规模的集群,基本不使用 - 全分布式模式
hadoop守护进程运行在一个物理集群上
4. 常用命令
命令 | 功能 |
---|---|
hadoop fs | 执行HDFS相关操作 |
hadoop fs -put, -get | 下载,上传文件到HDFS |
hadoop fs -mkdir, -rm, -ls, -cat ‘/目录’ | 对HDFS上存储的文件进行相关操作 |
hadoop jar 本地jar文件 MR主方法路径 | 通过打包jar文件方式执行mapreduce |
hadoop jar wordcount.jar com.MyJob | 举例 |
hadoop job -list | 列出将完成的job |
hadoop job -kill job号 | 关闭一个job |