用户登录
用户注册

分享至

hadoop单机模式

  • 作者: 铖是Superman的铖
  • 来源: 51数据库
  • 2020-09-23
一、相同点:
1、运行机器数相同
单机(非分布式)模式与伪分布式都是在一台单机上运行。
二、不同点:
1、分布式文件系统不同
1)、单机(非分布式)模式,没有分布式文件系统,而是直接读写本地操作系统的文件系统。
2)、伪分布式用不同的Java进程模仿分布式运行中的各类结点: (NameNode,DataNode,JobTracker,TaskTracker,SecondaryNameNode)。
2、启动进程不同
1)、单机(非分布式)模式下,Hadoop不会启动NameNode、DataNode、JobTracker、TaskTracker等守护进程,Map()和Reduce()任务作为同一个进程的不同部分来执行的。
2)、伪分布式模式下,Hadoop启动NameNode、DataNode、JobTracker、TaskTracker这些守护进程都在同一台机器上运行,是相互独立的Java进程。



3、配置文件处理方式不同
1)、单机(非分布式)模式下,不对配置文件进行修改。
2)、伪分布式模式下,修改3个配置文件:core-site.xml(Hadoop集群的特性,作用于全部进程及客户端)、hdfs-site.xml(配置HDFS集群的工作属性)、mapred-site.xml(配置MapReduce集群的属性)。
参考资料
百度百科-Hadoop



  单机(非分布式)模式
这种模式在一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统。
注意事项:运行bin/hadoopjarhadoop-0.16.0-examples.jarwordcounttest-intest-out时,务必注意第一个参数是jar,不是-jar,当你用-jar时,不会告诉你是参数错了,报告出来的错误信息是:exceptioninthread"main"java.lang.noclassdeffounderror:org/apache/hadoop/util/programdriver,笔者当时以为是classpath的设置问题,浪费了不少时间。通过分析bin/hadoop脚本可知,-jar并不是bin/hadoop脚本定义的参数,此脚本会把-jar作为java的参数,java的-jar参数表示执行一个jar文件(这个jar文件必须是一个可执行的jar,即在manifest中定义了主类),此时外部定义的classpath是不起作用的,因而会抛出java.lang.noclassdeffounderror异常。而jar是bin/hadoop脚本定义的参数,会调用hadoop自己的一个工具类runjar,这个工具类也能够执行一个jar文件,并且外部定义的classpath有效。
伪分布式运行模式
这种模式也是在一台单机上运行,但用不同的java进程模仿分布式运行中的各类结点(namenode,datanode,jobtracker,tasktracker,secondarynamenode),请注意分布式运行中的这几个结点的区别:从分布式存储的角度来说,集群中的结点由一个namenode和若干个datanode组成,另有一个secondarynamenode作为namenode的备份。从分布式应用的角度来说,集群中的结点由一个jobtracker和若干个tasktracker组成,jobtracker负责任务的调度,tasktracker负责并行执行任务。tasktracker必须运行在datanode上,这样便于数据的本地计算。jobtracker和namenode则无须在同一台机器上。



  1、运行模式不同:

单机模式是Hadoop的默认模式。这种模式在一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统。
伪分布模式这种模式也是在一台单机上运行,但用不同的Java进程模仿分布式运行中的各类结点。
2、配置不同:
单机模式(standalone)首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。
伪分布模式在“单节点集群”上运行Hadoop,其中所有的守护进程都运行在同一台机器上。
3、节点交互不同:
单机模式因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。
伪分布模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。




扩展资料:
核心架构:
1、HDFS:
HDFS对外部客户机而言,HDFS就像一个传统的分级文件系统。可以创建、删除、移动或重命名文件,等等。存储在 HDFS 中的文件被分成块,然后将这些块复制到多个计算机中(DataNode)。这与传统的 RAID 架构大不相同。块的大小和复制的块数量在创建文件时由客户机决定。
2、NameNode
NameNode 是一个通常在 HDFS 实例中的单独机器上运行的软件。它负责管理文件系统名称空间和控制外部客户机的访问。NameNode 决定是否将文件映射到 DataNode 上的复制块上。
3、DataNode
DataNode 也是在 HDFS实例中的单独机器上运行的软件。Hadoop 集群包含一个 NameNode 和大量 DataNode。DataNode 通常以机架的形式组织,机架通过一个交换机将所有系统连接起来。Hadoop 的一个假设是:机架内部节点之间的传输速度快于机架间节点的传输速度。
参考资料来源:百度百科-Hadoop



  可以,hadoop安装分为单机模式,伪分布式模式,完全分布式模式。你装成单机模式或者伪分布式模式就可以了。 单机模式:Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程
软件
前端设计
程序设计
Java相关