Hadoop的架构
Hadoop主要有两个层次:
加工/计算层(MapReduce)
存储层(Hadoop分布式文件系统)
除了上面提到的两个核心组件,Hadoop的框架还包括以下两个模块:
Hadoop通用:这是Java库和其他Hadoop组件所需的实用工具
Hadoop YARN :这是作业调度和集群资源管理的框架
HDFS
HDFS遵循主从架构,它具有以下元素。
1、名称节点 -Namenode
名称节点是包含GNU/Linux操作系统和软件名称节点的普通硬件。它是一个可以在商品硬件上运行的软件。具有名称节点系统作为主服务器,它执行以下任务:
- 管理文件系统命名空间。
- 规范客户端对文件的访问。
- 它也执行文件系统操作,如重命名,关闭和打开的文件和目录。
2、数据节点 - Datanode
Datanode具有GNU/Linux操作系统和软件Datanode的普通硬件。对于集群中的每个节点(普通硬件/系统),有一个数据节点。这些节点管理数据存储在它们的系统。
- 数据节点上的文件系统执行的读写操作,根据客户的请求。
- 还根据名称节点的指令执行操作,如块的创建,删除和复制。
3、块 -block
一般用户数据存储在HDFS文件。在一个文件系统中的文件将被划分为一个或多个段和/或存储在个人数据的节点。这些文件段被称为块。换句话说,数据的HDFS可以读取或写入的最小量被称为一个块。缺省的块大小为64MB,但它可以增加按需要在HDFS配置来改变
HDFS常用命令
运行jar包:hadoop jar /Users/kexin/work/projects/Hadoop/target/hadoop-0.0.1-SNAPSHOT.jar com.kexin.hadoop.units.WordCount /test/test.txt /project/wordcount/output
文件系统操作:hadoop fs -cat|ls|mkdir
上传文件:hadoop dfs -put ./testdata.txt /testdata
递归删除目录及文件:hadoop fs -rmr /testdata
删除文件:hadoop fs -rm /testdata.txt