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集群配置系列文档,是笔者在实验室真机环境实验后整理而得.以便随后工作所需,做以知识整理,另则与博客园朋友分享实验成果,因为笔者在学习初期,也遇到不少问 ...
随机推荐
- git 版本落后推送错误
http://114.215.90.144/student_association/student.git ! [rejected] master -> master (non- ...
- linux基础_使用指令3
时间日期类 1.date指令 功能:显示当前日期 语法: date:显示当前时间 date +%Y:显示当前年份 date +%m:显示当前月份 date +%d:显示当前是哪一天 date &quo ...
- Docker清除容器镜像命令:
# ~/.bash_aliases # Kill all running containers. alias dockerkillall='docker kill $(docker ps -q)' # ...
- JavaScript的7大基本类型
- SpringDataJpa 分页查询
第一种方式 实体类 Student import javax.persistence.*; import java.io.Serializable; @Entity @Table(name=" ...
- mysql锁定单个表的方法
mysql锁定单个表的方法mysql>lock table userstat read;mysql>unlock tables; 本文来自ChinaUnix博客,如果查看原文请点:http ...
- BZOJ 2594: [Wc2006]水管局长数据加强版 (LCT维护最小生成树)
离线做,把删边转化为加边,那么如果加边的两个点不连通,直接连就行了.如果联通就找他们之间的瓶颈边,判断一下当前边是否更优,如果更优就cut掉瓶颈边,加上当前边. 那怎么维护瓶颈边呢?把边也看做点,向两 ...
- mysql数据库的主从同步,实现读写分离
大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器来处理如此多的数据库连接操作,数据库必然会崩溃,特别 ...
- Java对象间的关系
1 综述 在Java中对象与对象的关系总体分为四类,分别是:依赖.关联.聚合和组合. (1)依赖(Dependency)关系是类与类之间的联接.依赖关系表示一个类依赖于另一个类的定义,一般而言,依赖关 ...
- Elasticsearch 读时分词、写时分词
初次接触 Elasticsearch 的同学经常会遇到分词相关的难题,比如如下这些场景: 为什么明明有包含搜索关键词的文档,但结果里面就没有相关文档呢?我存进去的文档到底被分成哪些词(term)了?我 ...