您的位置:首页 > 运维架构 > 网站架构

Hadoop架构介绍——Hadoop的三种运行模式

2016-11-10 15:00 295 查看
三种模式:

-单机模式

-伪分布式模式

-完全分布式模式

单机模式

-默认模式。

-不对配置文件进行修改。

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

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

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

伪分布式模式

-在一台主机模拟多主机。

-Hadoop启动NameNode、DataNode、JobTracker、TaskTracker这些守护进程都在同一台机器上运行,是相互独立的Java进程。

-在这种模式下,Hadoop使用的是分布式文件系统,各个作业也是由JobTraker服务,来管理的独立进程。在单机模式之上增加了代码调试功能,允许检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。类似于完全分布式模式,因此,这种模式常用来开发测试Hadoop程序的执行是否正确。

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

-格式化文件系统

完全分布式模式

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

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

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

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

-格式化文件系统

伪分布式示例:

1.core-site.xml修改

<configuration>

    <property>

        <name>fs.default.name</name>

        <value>hdfs://localhost</value>

    </property>

</configuration>

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

<configuration>

    <property>

        <name>dfs.replication</name>

        <value>1</value>

    </property>

</configuration>

3.对mapred-site.xml修改

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>localhost:8021</value>
    </property>
</configuration>
4.对文件系统进行格式化
hadoop namenode -format

5.启动守护进程

bin文件下

运行start-all.sh

启动HDFS和MapReduce的守护进程

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

完全分布式模式示例:

假设有3台主机,其中1台主节点,2台从节点。

主节点和从节点配置相同。

1.core-site.xml修改

<configuration>

    <property>

        <name>fs.default.name</name>

        <value>hdfs://192.168.56.11:9000</value>

    </property>

    <property>
         <name>hadoop.tmp.dir</name>
         <value>/home/test/haddoop-data/tmp</value>//临时文件夹
    </property>
</configuration>

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

<configuration>

    <property>

        <name>dfs.name.dir</name>

        <value>/home/test/hadoop-data/hafs/name</value>

    </property>

    <property>
        <name>dfs.data.dir</name>
        <value>/home/test/hadoop-data/hafs/data</value>
    </property>

    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
</configuration>

3.对mapred-site.xml修改

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>192.168.56.11:9001</value>
    </property>
</configuration>

4.对配置文件下的conf/slaves进行编辑(将从节点的IP写入)
localhost

192.168.56.12

192.168.56.13

5.设置SSH免密码登录

ssh-keygen

将公钥密令追加到信任授权列表中

cat /home/test/.ssh/id_rsa.pub >>authorized_keys

6.在分节点上进行操作

将主节点的公钥复制到分节点上:

scp test(这个是计算机用户名)@192.168.56.11:home/test/.ssh/id_rsa.pub /home/test/.ssh

将主节点上的Hadoop复制到分节点上:

scp -r test@192.168.56.11:/opt/hadoop-1.2.1 /opt/

将拷贝来的公钥文件添加到信任列表中

cat /home/test/.ssh/id_rsa.pub >>/home/test/.ssh/authorized_keys

7.格式化HDFS主节点

hadoop namenode -format

8.启动

/opt/hadoop-1.2.1/bin/start-dfs/sh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐