Hadoop集群参数和常用端口
一、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集群参数和常用端口的更多相关文章
- 【转载】Hadoop集群各部分常用端口号
hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问.而随着hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如 ...
- Hadoop集群 能打开50070端口不能打开8088端口 web浏览器界面
两天时间,知道现在才把这个东西解决 解决的灵感来源于百度知道一句话谢谢这个哥们 谢谢这个哥们! 我的目录是在/home/hadoop/tmp 大家如果遇到这个问题,希望能按照我的办法去试一下 2 ...
- Hadoop集群的各部分常用端口
hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问.而随着hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如 ...
- (转)hadoop 集群常用端口
转载于:https://www.cnblogs.com/liying123/p/7097806.html hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于 ...
- hadoop集群默认配置和常用配置【转】
转自http://www.cnblogs.com/ggjucheng/archive/2012/04/17/2454590.html 获取默认配置 配置hadoop,主要是配置core-site.xm ...
- hadoop集群默认配置和常用配置
http://www.cnblogs.com/ggjucheng/archive/2012/04/17/2454590.html 获取默认配置 配置hadoop,主要是配置core-site.xml, ...
- Hadoop集群-HDFS集群中大数据运维常用的命令总结
Hadoop集群-HDFS集群中大数据运维常用的命令总结 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客会简单涉及到滚动编辑,融合镜像文件,目录的空间配额等运维操作简介.话 ...
- Hadoop集群常用的shell命令
Hadoop集群常用的shell命令 Hadoop集群常用的shell命令 查看Hadoop版本 hadoop -version 启动HDFS start-dfs.sh 启动YARN start-ya ...
- 【Big Data】HADOOP集群的配置(一)
Hadoop集群的配置(一) 摘要: hadoop集群配置系列文档,是笔者在实验室真机环境实验后整理而得.以便随后工作所需,做以知识整理,另则与博客园朋友分享实验成果,因为笔者在学习初期,也遇到不少问 ...
随机推荐
- 【Java 基础实例—Bank 项目1】
(上图Wie任务要求的UML结构) Account.java 文件: package Banking_1; public class Account { private double balance; ...
- 【转载】SELENIUM2支持无界面操作(HTMLUNIT和PHANTOMJS)
SELENIUM2支持无界面操作(HTMLUNIT和PHANTOMJS) selenium2支持通过各种driver(FirfoxDriver,IternetExplorerDriver,OperaD ...
- Springboot打包成jar包形式发布
1.修改配置文件pom.xml 添加打包形式设置为jar形式 <packaging>jar</packaging> 2.在build标签内添加内容如下 finalname为打包 ...
- setup elk with docker-compose
version: '2' services: elasticsearch: image: docker.calix.local:18080/docker-elasticsearch:6.2.2-1 c ...
- 12 canvas 画布 - 基础
二.线条的绘制和填充 在canvas中,各个图像绘制代码可以通过beginPath()和closePath()这两个函数进行包裹,主要用于分割各个画图,表示开始和结束.线条的绘制主要调用方法是move ...
- unity 用代码控制动画的播放的进度
https://answers.unity.com/questions/1225328/imported-animated-object-and-slider-tutorial.html using ...
- 【git】git中使用https和ssh协议的区别以及它们的用法
git可以使用四种主要的协议来传输资料: 本地协议(Local),HTTP 协议,SSH(Secure Shell)协议及 git 协议.其中,本地协议由于目前大都是进行远程开发和共享代码所以一般不常 ...
- Microsoft.Practices.Unity使用配置文件总是报错The type name or alias could not be resolved.
Type name could not be resolved. Please check config file http://stackoverflow.com/questions/1493564 ...
- HGOI20191114 CSP模拟赛 反思
Problem A 宇宙魔方 有一个$N \times N \times N$的魔方,每一次操作可以整体转动该魔方,也可以对于一层整体+X. 给出最后魔方的最终状态,其中有一个位置为-1.利用其它位置 ...
- IVIEW组件Table中加入EChart柱状图
展示图如下: 主要利用了render函数和updated()钩子函数进行数据填充与渲染. 1.在Table的Colums中加入 1 { 2 title: '比例图', 3 align: 'center ...