【大数据】- Hadoop 基本操作

前言

由于之前一直没有整理过hadoop的内容,或者说整理得比较少,所以觉得有必要

Hadoop 存储 - HDFS

Hadoop 的存储系统是 HDFS(Hadoop Distributed File System)分布式文件系统,对外部客户端而言,HDFS 就像一个传统的分级文件系统,可以进行创建、删除、移动或重命名文件或文件夹等操作,与 Linux 文件系统类似。

但是,Hadoop HDFS 的架构是基于一组特定的节点构建的,名称节点(NameNode,仅一个),它在 HDFS 内部提供元数据服务;第二名称节点(Secondary NameNode),名称节点的帮助节点,主要是为了整合元数据操作(注意不是名称节点的备份);数据节点(DataNode),它为 HDFS 提供存储块。由于仅有一个 NameNode,因此这是 HDFS 的一个缺点(单点失败,在 Hadoop2.x 后有较大改善)。

NameNode

它是一个通常在 HDFS 架构中单独机器上运行的组件,负责管理文件系统名称空间和控制外部客户机的访问。NameNode 决定是否将文件映射到 DataNode 上的复制块上。对于最常见的 3 个复制块,第一个复制块存储在同一机架的不同节点上,最后一个复制块存储在不同机架的某个节点上。

Secondary NameNode

第二名称节点的作用在于为 HDFS 中的名称节点提供一个 Checkpoint,它只是名称节点的一个助手节点,这也是它在社区内被认为是 Checkpoint Node 的原因。

DatabNode

数据节点也是一个通常在 HDFS 架构中的单独机器上运行的组件。Hadoop 集群包含一个 NameNode 和大量 DataNode。数据节点通常以机架的形式组织,机架通过一个交换机将所有系统连接起来。

数据节点响应来自 HDFS 客户机的读写请求。它们还响应来自 NameNode 的创建删除复制块的命令。名称节点依赖来自每个数据节点的定期心跳(heartbeat)消息。每条消息都包含一个块报告,名称节点可以根据这个报告验证块映射和其他文件系统元数据。如果数据节点不能发送心跳消息,名称节点将采取修复措施,重新复制在该节点上丢失的块