【技术贴】Hadoop集群配置详解 您所在的位置:网站首页 hadoop集群网络配置 【技术贴】Hadoop集群配置详解

【技术贴】Hadoop集群配置详解

#【技术贴】Hadoop集群配置详解| 来源: 网络整理| 查看: 265

hadoop参数配置详解

在搭建hadoop开发环境的时,配置的参数非常多,要怎么设定才能达到最好的效能是一件令人头痛的事,通过本文的分析使读者能对hadoop的参数配置有一个详细的了解,初步学会如何进行hadoop参数配置。

一、配置文件介绍

在hadoop集群中,需要配置的文件主要包括四个,分别是core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml,这四个文件分别是对不同组件的配置参数,主要内容如下表所示:

  

序号

  

配置文件名

配置对象

主要内容

1

core-site.xml

集群全局参数

用于定义系统级别的参数,如HDFS  URL、Hadoop的临时目录等

2

hdfs-site.xml

HDFS参数

如名称节点和数据节点的存放位置、文件副本的个数、文件读取权限等

3

mapred-site.xml

Mapreduce参数

包括JobHistory Server和应用程序参数两部分,如reduce任务的默认个数、任务所能够使用内存的默认上下限等

4

yarn-site.xml

集群资源管理系统参数

配置 ResourceManager,NodeManager 的通信端口,web 监控端口等

二、hadoop参数格式

Hadoop没有使用java语言的管理配置文件,也没有使用Apache管理配置文件,而是使用了一套独有的配置文件管理系统,并提供自己的API。以XML文档格式进行配置,使用相应的配置文件类读取,并配置集群的运行。

     

          fs.defaultFS

           hdfs://cloud01:9000

           定义默认的文件系统主机和端口

     

     

            io.file.buffer.size

            131072

                             4096

            流文件的缓冲区为4K

      

      

              hadoop.tmp.dir

              file:/home/hduser/tmp

               Abase forother temporary directories.

      

在Hadoop配置文件的根元素configuration,一般只包含子元素property。每一个property元素就是一个配置项,配置文件不支持分层或分级。

每个配置项一般包括配置属性 名称 name、值value和一个关于配置项的描述description。元素final和Java中的关键字final类似,意味着这个配置项是“固定不变的”。final一般不出现,但在合并资源的时候,可以防止配置项的值被覆盖。

在configuration中每个属性都是string类型的,值类型可能是以下多种类型包括java中的基本类型,如boolean、int、long、float也可以是其他类型,如String、File、数组等。以上面的配置文件为例,定义了三个集群的参数,分别是集群主机和端口、流文件的缓冲区大小,临时文件存放位置,只有流文件此配置项是int型,而另两个配置项是字符串型。

三、搭建集群配置时重要参数

本节讨论在给定的配置文件中指定重要的参数,在四个配置文件中,最重要的参数及其解释如下:

1. core-site.xml

  

序号

  

参数名

默认值

参数解释

1

fs.defaultFS

file:///

文件系统主机和端口

2

io.file.buffer.size

4096

流文件的缓冲区大小

3

hadoop.tmp.dir

/tmp/hadoop-${user.name}

临时文件夹

2. hdfs-site.xml

  

序号

  

参数名

默认值

参数解释

1

dfs.namenode.secondary.http-address

0.0.0.0:50090

定义HDFS对应的HTTP服务器地址和端口

2

dfs.namenode.name.dir

file://${hadoop.tmp.dir}/dfs/name

定义DFS的名称节点在本地文件系统的位置

3

dfs.datanode.data.dir

file://${hadoop.tmp.dir}/dfs/data

定义DFS数据节点存储数据块时存储在本地文件系统的位置

4

dfs.replication

3

缺省的块复制数量

5

dfs.webhdfs.enabled

true

是否通过http协议读取hdfs文件,如果选是,则集群安全性较差

3. mapred-site.xml

  

序号

  

参数名

默认值

参数解释

1

mapreduce.framework.name

local

取值local、classic或yarn其中之一,如果不是yarn,则不会使用YARN集群来实现资源的分配

2

mapreduce.jobhistory.address

0.0.0.0:10020

定义历史服务器的地址和端口,通过历史服务器查看已经运行完的Mapreduce作业记录

3

mapreduce.jobhistory.webapp.address

0.0.0.0:19888

定义历史服务器web应用访问的地址和端口

4. yarn-site.xml

  

序号

  

参数名

默认值

参数解释

1

yarn.resourcemanager.address

0.0.0.0:8032

ResourceManager 提供给客户端访问的地址。客户端通过该地址向RM提交应用程序,杀死应用程序等

2

yarn.resourcemanager.scheduler.address

0.0.0.0:8030

ResourceManager提供给ApplicationMaster的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等

3

yarn.resourcemanager.resource-tracker.address

0.0.0.0:8031

ResourceManager 提供给NodeManager的地址。NodeManager通过该地址向RM汇报心跳,领取任务等

4

yarn.resourcemanager.admin.address

0.0.0.0:8033

ResourceManager 提供给管理员的访问地址。管理员通过该地址向RM发送管理命令等。

5

yarn.resourcemanager.webapp.address

0.0.0.0:8088

ResourceManager对web 服务提供地址。用户可通过该地址在浏览器中查看集群各类信息

6

yarn.nodemanager.aux-services

通过该配置项,用户可以自定义一些服务,例如Map-Reduce的shuffle功能就是采用这种方式实现的,这样就可以在NodeManager上扩展自己的服务。

四、搭建集群配置样例

样例中搭建的集群一共有三台机器,其yarn和namenode都在同一台机器上,该机器的机器名称为cloud01,所用系统为unbuntu 12.10。

配置文件1:core-site.xml

               

                               fs.defaultFS

                               hdfs://cloud01:9000

               

      

                               io.file.buffer.size

                               131072

               

      

                               hadoop.tmp.dir

                               file:/home/hduser/tmp

               

配置文件2:hdfs-site.xml

      

               dfs.namenode.secondary.http-address

               cloud01:9001

        

         

                 dfs.namenode.name.dir

                file:/home/hduser/dfs/name

            

           

                   dfs.datanode.data.dir

                   file:/home/hduser/dfs/data

            

            

                    dfs.replication

                    2

            

            

                    dfs.webhdfs.enabled

                    true

         

配置文件3:mapred-site.xml

               

                               mapreduce.framework.name

                               yarn

               

               

                               mapreduce.jobhistory.address

                               cloud01:10020

               

               

               mapreduce.jobhistory.webapp.address

               cloud01:19888

      

配置文件4:yarn-site.xml

               

               yarn.nodemanager.aux-services

               mapreduce_shuffle

        

               

               yarn.nodemanager.aux-services.mapreduce.shuffle.class

               org.apache.hadoop.mapred.ShuffleHandler

        

        

               yarn.resourcemanager.address

               cloud01:8132

      

               

               yarn.resourcemanager.scheduler.address

               cloud01:8130

               

               

                       yarn.resourcemanager.resource-tracker.address

                        cloud01:8131

               

               

                       yarn.resourcemanager.admin.address

                        cloud01:8133

               

               

               yarn.resourcemanager.webapp.address

               cloud01:8188

      

四、更多的配置参数的信息

上面讲过的对hadoop进行的配置,都是一些重要的配置信息,一个好的hadoop 管理员应该熟悉和掌握全部的配置信息,这样才能更好地解决hadoop集群系统在运行过程中遇到的问题。通过可以通过两个办法获取得全部的配置信息:

方法一.可以通过hadoop官方网址查询,网址如下:

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/core-default.xml

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

通过这些网址,可以了解最新的全部的hadoop 配置信息,而且包括一些过时的定义标识,从而更好地维护您的集群。

方法二:通过集群工具查询

集群配置好后,可以通过http://192.168.75.101:8188/conf,查看集群参数状况,其中192.168.75.101为yarn.resourcemanager.webapp.address配置项的地址,8188为该配置项设置的端口。

dd.png 2015-1-27 10:28:50 上传 下载附件 (180.24 KB)

和方法一相比,方法二更适合于自己管理的集群,但要想知道最新的配置信息,还是需要定期到hadoop的官方网站上去获取。

------------------------------------------------------------------------------------------------------------------------------------------------------


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有