Hadoop三种模式 详解

一、Hadoop的三种模式:

1、独立模式(本地模式) standalone

默认的模式,无需运行任何守护进程(daemon),所有程序都在单个JVM上执行。由于在本机模式下测试和调试MapReduce程序较为方便,因此,这种模式适宜用在开发阶段。

使用本地文件系统,而不是分布式文件系统。

Hadoop不会启动NameNode、DataNode、JobTracker、TaskTracker等守护进程,Map()和Reduce()任务作为同一个进程的不同部分来执行的。

用于对MapReduce程序的逻辑进行调试,确保程序的正确。

所谓默认模式,及安装完jdk及hadoop,配置好相应的环境,及本地模式配置完成。

(环境搭建,参考http://blog.csdn.net/wuscar0703/article/details/53218485)

        2、伪分布模式 pseudodistributed

在一台主机模拟多主机。即,hadoop的守护程序在本地计算机上运行,模拟集群环境,并且是相互独立的Java进程。

                在这种模式下,Hadoop使用的是分布式文件系统,各个作业也是由JobTraker服务,来管理的独立进程。

在单机模式之上增加了代码调试功能,允许检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。类似于完全分布式模式,因此,这种模式常用来开发测试Hadoop程序的执行是否正确。

修改3个配置文件:core-site.xml(Hadoop集群的特性,作用于全部进程及客户端)、hdfs-site.xml(配置HDFS集群的工作属性)、mapred-site.xml(配置MapReduce集群的属性)

格式化文件系统。

伪分布式在独立模式的基础之上,安装ssh(参考:http://blog.csdn.net/wuscar0703/article/details/53217966)

伪分布式示例:

1.core-site.xml修改

   

        fs.default.name

        hdfs://localhost

   

2.对hdfs-site.xml修改(主要是用来指定集群中数据块的副本系数)

   

        dfs.replication

        1

   

3.对mapred-site.xml修改

   

        mapred.job.tracker

        localhost:8021

   

4、对yarn-site.xml 修改




yarn.resourcemanager.hostname
localhost


yarn.nodemanager.aux-services
mapreduce_shuffle


5 .对文件系统进行格式化

hadoop namenode -format

6.启动守护进程

bin文件下

运行start-all.sh

启动HDFS和MapReduce的守护进程

至此,NameNode、DataNode、JobTracker、TaskTracker等守护进程启动。

查看各进程是否开启:

jps

关闭进程:stop-all.sh

3、完全分布模式 fulldistributed

  Hadoop的守护进程运行在由多台主机搭建的集群上,是真正的生产环境。

在所有的主机上安装JDK和Hadoop,组成相互连通的网络。

在主机间设置SSH免密码登录,把各从节点生成的公钥添加到主节点的信任列表。

修改3个配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml,指定NameNode和JobTraker的位置和端口,设置文件的副本等参数

格式化文件系统

完全分布式模式示例:
假设有5台主机,s100-s105,s100 名称节点,s101-s103位数据节点,s104位辅助名称节点。
主节点和从节点配置相同。
1.core-site.xml修改

   
      fs.defaultFS
        hdfs://s100/
   


hadoop.tmp.dir
/home/wuscar/hadoop


2.对hdfs-site.xml修改(主要是用来指定集群中数据块的副本系数)


dfs.replication
3


  dfs.namenode.secondary.http-address
s104:50090


dfs.namenode.name.dir
file:///${hadoop.tmp.dir}/dfs/name1,file:///${hadoop.tmp.dir}/dfs/name2


3.对mapred-site.xml修改


mapreduce.framework.name
yarn


4、对yarn-site.xml修改


yarn.resourcemanager.hostname
s100


yarn.nodemanager.aux-services
mapreduce_shuffle


5.对配置文件下的conf/slaves进行编辑(将从节点的IP写入)
localhost
s101
s102
s103
6.设置SSH免密码登录,生成密钥对
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
7、将公钥密令追加到信任授权列表中
cat /home/test/.ssh/id_rsa.pub >>authorized_keys
8.在分节点上进行操作,将主节点的公钥复制到分节点上:
scp test(这个是计算机用户名)@192.168.56.11:home/test/.ssh/id_rsa.pub /home/test/.ssh
9.将主节点上的Hadoop复制到分节点上:
scp -r [email protected]:/opt/hadoop-1.2.1 /opt/
将拷贝来的公钥文件添加到信任列表中
cat /home/test/.ssh/id_rsa.pub >>/home/test/.ssh/authorized_keys
10.格式化HDFS主节点
hadoop namenode -format
11.启动
/opt/hadoop-1.2.1/bin/start-dfs/sh

   

你可能感兴趣的:(Hadoop)