一、Hadoop集群参数配置

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

  • core-site.xml,集群全局参数。用于定义系统级别的参数,如HDFS、URL、Hadoop的临时目录等。
  • hdfs-site.xml,HDFS参数。如名字节点和数据节点的存放位置、文件副本的个数、文件读取权限等。
  • yarn-site.xml,集群资源管理系统参数。配置ResourceManager、NodeManager的通信端口,web监控端口等。
  • mapred-site.xml,MapReduce参数。包括JobHistory Server和应用程序参数两部分,如reduce任务的默认个数、任务所能使用内存的默认上下限等。

1.1 core-site.xml

参数名称

默认值/缺省值

说明

fs.defaultFS

file:///

文件系统主机和端口

io.file.buffer.size

4096

流文件的缓冲区大小,,建议为65536(64K)

hadoop.tmp.dir

/tmp/hadoop-${user.name}

临时文件夹

fs.trash.interval

0

当文件被删除时,会放到用户目录的.Trash目录下,而不是立即删掉。建议配置1440(一天)

1.2 hdfs-site.xml配置

1、NameNode的配置

参数名称

默认值/缺省值

说明

dfs.namenode.name.dir

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

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

dfs.namenode.hosts /

dfs.namenode.hosts.exclude

null,所有DataNode都可连入NameNode

设置允许/拒绝请求NameNode的DataNode

dfs.blocksize

268435456

对于新文件切切分的大小,单位byte。默认256M

dfs.namenode.handler.count

10

NameNode用来处理来自DataNode的RPC请求的线程数量。建议设置成Datanode数量的10%

 2、DataNode的配置

参数

默认值

参数解释

dfs.datanode.data.dir

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

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

1.3 yarn-site.xml配置

1、ResourceManager和NodeManager配置

参数名称

默认值/缺省值

说明

yarn.acl.enable

true

acl访问权限控制是否开启

yarn.admin.acl

*

管理员acl权限

yarn.log-aggregation-enable

false

是否启用日志聚集功能

yarn.log-aggregation.retain-seconds

-1

在HDFS上聚集的日志最多保存多长时间

yarn.log-aggregation.retain-check-interval-seconds

-1

多长时间检查一次日志

yarn.log-aggregation.retain-seconds

/tmp/logs /${user}/${thisParam}

远程日志目录子目录名称(启用日志聚集功能时有效)

 2、ResourceManager配置

参数名称

默认值/缺省值

说明

yarn.resourcemanager.address

0.0.0.0:8032

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

yarn.resourcemanager.scheduler.address

0.0.0.0:8030

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

yarn.resourcemanager.resource-tracker.address

0.0.0.0:8031

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

yarn.resourcemanager.admin.address

0.0.0.0:8033

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

yarn.resourcemanager.webapp.address

0.0.0.0:8088

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

yarn.resourcemanager.hostname

hostname

ResourceManager主机名

yarn.resourcemanager.scheduler.class

CapacityScheduler

启动的资源调度器主类。目前可用的有FIFO、Capacity Scheduler和Fair Scheduler

yarn.scheduler.minimum-allocation-mb /

yarn.scheduler.maximum-allocation-mb

1024 / 8192

单个任务可申请的最小/最大内存资源量

yarn.scheduler.minimum-allocation-vcores / yarn.scheduler.maximum-allocation-vcores

1 / 32

单个任务可申请的最小/最大虚拟CPU数

yarn.resourcemanager.nodes.include-path / yarn.resourcemanager.nodes.exclude-path

“”

NodeManager黑白名单,用于允许/拒绝NodeManager对ResourceManager的访问

yarn.resourcemanager.resource-tracker.client.thread-count

50

处理来自NodeManager的RPC请求的Handler数目

yarn.resourcemanager.scheduler.client.thread-count

50

处理来自ApplicationMaster的RPC请求的Handler数目

yarn.resourcemanager.nodemanagers.heartbeat-interval-ms

1000(ms)

NodeManager心跳间隔

 3、NodeManager配置

参数名称

默认值/缺省值

说明

yarn.nodemanager.resource.memory-mb

8192 (MB)

NodeManager总的可用物理内存。该参数一旦设置,在整个运行过程中不可动态修改

yarn.nodemanager.vmem-pmem-ratio

2.1

每使用1MB物理内存,最多可用的虚拟内存数

yarn.nodemanager.resource.cpu-vcores

8

NodeManager总的可用虚拟CPU个数

yarn.nodemanager.local-dirs

${hadoop.tmp.dir}/nm-local-dir

中间结果存放位置,一般会配置多个目录,分摊磁盘IO负载

yarn.nodemanager.log-dirs

${yarn.log.dir}/userlogs

日志存放地址

yarn.nodemanager.log.retain-seconds

10800 (3小时)

NodeManager上日志最多存放时间(不启用日志聚集功能时有效)

yarn.nodemanager.aux-services

“”

NodeManager上运行的附属服务

yarn.nodemanager.remote-app-log-dir

/tmp/logs

当应用程序运行结束时,日志被转移到HDFS目录(启用日志聚集时有效)

yarn.nodemanager.remote-app-log-dir-suffix

${remote-app-log-dir}/${user}/{thisParam}

集合日志后的存放地址由 ${remote-app-log-dir}/${user}/{thisParam}构成

1.4 mapred-site.xml配置

该配置文件主要是MapReduce相关参数配置,分为JobHistory Server和应用程序参数两部分,JobHistory可运行在一个独立节点上,而应用程序参数则可放在mapred-site.xml中作为默认参数,可以在提交应用程序时指定。

1、MapReduce JobHistory相关参数配置

在JobHistory所在节点的mapred-site.xml中配置

参数名称

默认值/缺省值

说明

mapreduce.jobhistory.address

0.0.0.0:10020

MapReduce JobHistory Server地址

mapreduce.jobhistory.webapp.address

0.0.0.0:19888

MapReduce JobHistory Server Web UI地址

mapreduce.jobhistory.intermediate-done-dir

/mr-history/tmp

MapReduce作业产生的日志存放位置

mapreduce.jobhistory.done-dir

/mr-history/done

mapreduce.jobhistory.done-dir

 2、MapReduce作业参数配置

可在客户端的mapred-site.xml中配置,也可在作业提交时指定这些参数。

参数名称

默认值/缺省值

说明

mapreduce.job.name

 

作业名称

mapreduce.job.priority

NORMAL

作业优先级

yarn.app.mapreduce.am.resource.mb

1536

MR ApplicationMaster占用的内存量

yarn.app.mapreduce.am.resource.cpu-vcores

1

MR ApplicationMaster占用的虚拟CPU个数

mapreduce.am.max-attempts

2

MR ApplicationMaster最大失败尝试次数

mapreduce.map.memory.mb

1536

每个Map Task需要的内存量

mapreduce.map.cpu.vcores

1

每个Map Task需要的虚拟CPU个数

mapreduce.map.maxattempts

4

Map Task最大失败尝试次数

mapreduce.map.java.opts

-Xmx1024M

map任务启用的子JVM的最大堆大小

mapreduce.reduce.memory.mb

3072

每个Reduce Task需要的内存量

mapreduce.reduce.cpu.vcores

1

每个Reduce Task需要的虚拟CPU个数

mapreduce.reduce.maxattempts

4

Reduce Task最大失败尝试次数

mapreduce.map.speculative

false

是否对Map Task启用推测执行机制

mapreduce.reduce.speculative

false

是否对Reduce Task启用推测执行机制

mapreduce.reduce.java.opts

-Xmx2560M

Reduce任务启用的子JVM的最大的堆大小

mapreduce.job.queuename

default

作业提交到的队列

mapreduce.task.io.sort.mb

512

任务内部排序缓冲区大小

mapreduce.task.io.sort.factor

100

排序时一次合并的文件数

mapreduce.map.sort.spill.percent

0.8

Map阶段溢写文件的阈值(排序缓冲区大小的百分比)

mapreduce.reduce.shuffle.parallelcopies

50

Reduce Task启动的并发拷贝数据的线程数目

二、Hadoop常用端口

2.1 HDFS端口

参数

描述

默认端口

配置文件

fs.default.name.namemode

namenode RPC交互端口

8020

core-site.xml

dfs.http.address

namenode web管理端口

50070

hdfs-site.xml

dfs.datanode.address

datanode控制端口

50010

hdfs-site.xml

dfs.datanode.ipc.address

datanode的RPC服务器地址和端口

50020

hdfs-site.xml

dfs.datanode.http.address

datanode的HTTP服务器地址和端口

50075

hdfs-site.xml

2.2 Yarn端口

2.3 MapReduce端口

参数

描述

默认端口

配置文件

mapred.job.tracker

job-tracker交互端口

8021

mapred-site.xml

job

tracker的web管理端口

50030

mapred-site.xml

mapred.task.tracker.http.address

task-tracker的HTTP端口

50060

mapred-site.xml

【参考链接】

[1] 董西成, Hadoop YARN配置参数剖析.

[2] https://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/ClusterSetup.html

[3] yangjl38, hadoop三个配置文件的参数含义说明.

 

Hadoop集群参数和常用端口的更多相关文章

  1. 【转载】Hadoop集群各部分常用端口号

    hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问.而随着hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如 ...

  2. Hadoop集群 能打开50070端口不能打开8088端口 web浏览器界面

    两天时间,知道现在才把这个东西解决  解决的灵感来源于百度知道一句话谢谢这个哥们 谢谢这个哥们! ​我的目录是在/home/hadoop/tmp  大家如果遇到这个问题,希望能按照我的办法去试一下 2 ...

  3. Hadoop集群的各部分常用端口

    hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问.而随着hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如 ...

  4. (转)hadoop 集群常用端口

    转载于:https://www.cnblogs.com/liying123/p/7097806.html hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于 ...

  5. hadoop集群默认配置和常用配置【转】

    转自http://www.cnblogs.com/ggjucheng/archive/2012/04/17/2454590.html 获取默认配置 配置hadoop,主要是配置core-site.xm ...

  6. hadoop集群默认配置和常用配置

    http://www.cnblogs.com/ggjucheng/archive/2012/04/17/2454590.html 获取默认配置 配置hadoop,主要是配置core-site.xml, ...

  7. Hadoop集群-HDFS集群中大数据运维常用的命令总结

    Hadoop集群-HDFS集群中大数据运维常用的命令总结 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客会简单涉及到滚动编辑,融合镜像文件,目录的空间配额等运维操作简介.话 ...

  8. Hadoop集群常用的shell命令

    Hadoop集群常用的shell命令 Hadoop集群常用的shell命令 查看Hadoop版本 hadoop -version 启动HDFS start-dfs.sh 启动YARN start-ya ...

  9. 【Big Data】HADOOP集群的配置(一)

    Hadoop集群的配置(一) 摘要: hadoop集群配置系列文档,是笔者在实验室真机环境实验后整理而得.以便随后工作所需,做以知识整理,另则与博客园朋友分享实验成果,因为笔者在学习初期,也遇到不少问 ...

随机推荐

  1. java 项目坑记录

    1. spring项目引入了lombok jar包,且已在类上面添加@Data注释,还是关联不到 get() 和 set() 方法 需要安装扩展包 如果在线安装失败,提示错误readtime out, ...

  2. 实用: 将程序的内容写出到excel中

    pom <!-- 读取excel文件 --><dependency> <groupId>org.apache.poi</groupId> <art ...

  3. Linux下批量修改文件编码

    假设需要将所有afish目录下的php文件,编码从gb2312转到utf8 cd afish find ./ -type f -name “*.php”|while read line;do echo ...

  4. windows 10安装mongodb数据库

    简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当 ...

  5. Jquery 前端解码base64出现中文乱码的问题解决方案

    <script src="../static/js/jquery.base64.js"></script> <script src="../ ...

  6. 计算机网络|C语言Socket编程,实现两个程序间的通信

    C语言Socket编程,实现两个程序间的通信 server和client通信流程图 在mooc上找到的,使用Socket客户端client和服务端server通信的流程图

  7. SQL server 自定义函数FUNCTION的使用

    原文链接:https://blog.csdn.net/lanxingbudui/article/details/81736402 前言:        在SQL server中不仅可以可以使用系统自带 ...

  8. C++头文件中#pragma once与#ifndef……#define……#endif

    两者功能一样,防止重复包含被多次编译.建议头文件加入#pragma once C++头文件开头的两句与结尾的一句#ifndef <标识>#define <标识>类代码#endi ...

  9. 1 Java面向对象

    0 工具 在分析面向对象时最好采用UML图进行分析设计 1 Java面向对象的特点 java采用面向对象的方法设计程序主要体现在:对象有属性和方法,事件的发生是对象间的信息交互产生的即程序中的get ...

  10. Unknown property 'mybatis-plus' yml文件报错

    就是因为没有对应的依赖 package com.taotao.config; import org.mybatis.spring.annotation.MapperScan; import org.s ...