HDFS的NameNode和DataNode有什么区别 伪分布式hadoop能否添加datanode
HDFS的NameNode和DataNode有什么区别?
HDFS是一种分布式文件系统,Hadoop集群借此来存储所有需要分析的输入数据以及由MapReduce作业生成的任何输出结果。HDFS是一种基于数据块的文件系统,它跨越集群中的多个节点,并且使用用户数据可以存储在文件中。它提供了传统的分层文件组织,以便用户或应用程序可以操作(创建、重命名、移动或删除)文件和目录。它还提供了一个流接口,借助于该接口,可使用MapReduce框架运行所选的任何应用程序。HDFS不支持设置硬链接或软链接,因此用户无法寻址到特定数据块或者覆盖文件。HDFS要求进行编程访问,因此用户无法作为文件系统装载。所有HDFS通讯都根据TCP/IP协议分层。https://community.emc.com/docs/DOC-4032 HDFS的关键组件有:
NameNode:单一主元数据服务器,其中包含每个文件、文件位置以及这些文件及其所在的DataNode内的所有数据块的内存映射。
DataNode:每个集群节点均有一个从属DataNode,它为读/写请求提供服务以及按照NameNode的指令执行数据块创建、删除和复制。
伪分布式hadoop能否添加datanode
是添加一个datanode节点吗? 如果你之前是伪分布式的话,这个datanode节点可不能还是在这一台机器上,一台机器只能设置一个datanode。 添加一个datanode节点在salves文件下添加上这个节点的ip或者主机名,然后到新加的datanode主机下启动datanode进程就可以了。具体可以参考该文章:
http://blog.csdn.net/kongxx/article/details/6896230
namenode 和 datanode 上hadoop的目录结构一定要一样吗
作为hadoop软件核心功能的本身是要求所有机器是一样的,hdfs上的目录是全局统一的。当然登录的用户也要求一样的。目录hadoop主要是运行在同构的集群中,对异构环境支持并不好,所以结论是所有环境尽可能一致。