伪分布式就是假分布式,假就假在只有一台机器而不是多台机器来完成一个任务,但是模拟了分布式的这个过程,所以伪分布式下Hadoop也就是虽然在一个机器上配置了hadoop的所有节点,但伪分布式完成了所有分布式所必须的事件。伪分布式Hadoop和单机版最大区别就在于需要配置HDFS。
扩展资料:
当客户端想读取一个文件的时候,客户端需要和伪分布式节点进行交互,因为它是唯一存储数据节点元数据的节点。伪分布式规定奴隶节点的存储数据的地址跟位置。客户端通过伪分布式找到它需要数据的节点,然后直接在找到DataNode中进行读操作。
考虑到安全和授权的目的,伪分布式给客户端提供token,这个token需要出示给DateNote进行认证,认证通过后,才可以读取文件。
单机(非分布式)模式
这种模式在一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统。
注意事项:运行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则无须在同一台机器上。
hadoop分为单机模式,伪分布式,和完全分布式。
你说的伪分布式是指:一个机器上,即当namenode,又当datanode,或者说即是jobtracker,又是tasktracker。没有所谓的在多台机器上进行真正的分布式计算,故称为"伪分布式"。
什么是伪军 什么是伪君子 伪就是假的意思.
那什么又是分布式,分布式权威定义参见百科,我的理解就是有多台机器共同协作完成一个任务。
那么伪分布式就是假分布式,假在哪里,假就假在他只有一台机器而不是多台机器来完成一个任务,但是他模拟了分布式的这个过程,所以伪分布式下Hadoop 也就是你在一个机器上配置了hadoop的所有节点。这就是伪分布式!
Hadoop|
Apache Pig|
Apache Kafka|
Apache Storm|
Impala|
Zookeeper|
SAS|
TensorFlow|
人工智能基础|
Apache Kylin|
Openstack|
Flink|
MapReduce|
大数据|
云计算|
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....