HDP集群参数调优

前言:本文档适用于新部署的HDP集群,需要修改默认参数值以提高集群的稳定性。


1.Mysql

修改mysql配置文件/etc/my.cnf

参数 说明 默认值 建议值

default-character-set mysql服务器默认字符集设置   utf8

max_connections 最大用户连接数 151 3000

2.Ldap

ldap添加日志方便后期定位问题:

vi slapd.conf

loglevel 4095

vi /etc/rsyslog.conf

local4.* /var/log/openldap.log

service rsyslog restart

service slapd restart

3.Kerberos

参数 说明 默认值 建议值

hadoop.security.auth_to_local  指定的规则将Kerberos主体映射到操作系统用户(系统)帐户   DEFAULT RULE:[2:$1/$2@$0](.*/.*@ocdp)s/(.*)@ocdp/.*/

4.Ambari-server

调整ambari-server堆内存,防止集群增大后,内存不足相应缓慢。

vi /var/lib/ambari-server/ambari-env.sh

export AMBARI_JVM_ARGS=$AMBARI_JVM_ARGS' -Xms1024m -Xmx4096m -XX:MaxPermSize=128m

5.Zookeeper

参数 说明 默认值 建议值

Zookeeper Server Maximum Memory  Zookeeper进程堆内存 1024  4096

6.Hdfs

参数 说明 默认值 建议值

NameNode Java heap size Namenode进程堆内存 1024 51200

Namenode 内存调优

namenode 的元数据对象数包含文件的inodes 和指向datanode 数据块的blocks。

元数据大致分成两个层次:Namespace管理层,负责管理文件系统中的树状目录结构以及文件与数据块的映射关系;块管理层,负责管理文件系统中文件的物理块与实际存储位置的映射关系BlocksMap

dfs.blocksize设置为128M,每个namenode 对象大概150 bytes,大概100W个block 消耗一个1G namenode memory

副本影响dfs的存储空间,但不影响namenode 的内存

eg:

200 hosts of 24 TB each = 4800 TB.Blocksize=128 MB, Replication=3

Cluster capacity in MB: 200 * 24,000,000 MB = 4,800,000,000 MB (4800 TB)

Disk space needed per block: 128 MB per block * 3 = 384 MB storage per block

Cluster capacity in blocks: 4,800,000,000 MB / 384 MB = 12,000,000 blocks

集群大概需要12G 的heap size


生产集群namenode heapsize建议值:20480m~167936m(根据集群数据量大小调整)


其它参数优化:

参数 说明 默认值 建议值

dfs.namenode.handler.count Namenode处理线程数 10 200

dfs.datanode.handler.count Datanode处理线程数 10 160

DataNode maximum Java heap size Datanode进程堆内存 1024 4096

fs.trash.interval Hdfs垃圾回收时间 360 1440

dfs.datanode.balance.bandwidthPerSec Hdfs数据均衡带宽 1048576 10485760

dfs.image.trsansfer.timeout Fsimage传输超时 60000 120000

dfs.image.transfer.bandwidthPerSec Fsimage传输带宽 0 52428800

dfs.datanode.du.reserved Datanode磁盘预留空间 0 157286400

7.Yarn

Yarn进程内存配置:

参数 说明 默认值 建议值

ResourceManager Java heap size Resourcemanager进程堆内存 1024 16384

NodeManager Java heap size Nodemanager进程堆内存 1024 4096

AppTimelineServer Java heap size Timelineserver进程堆内存 1024 4096

Yarn资源配置

根据主机物理配置(32v,128G)进行建议

参数 说明 默认值 建议值

yarn.nodemanager.resource.cpu-vcores Nodemanager节点分配最大并发数(vcore) 8 32

yarn.nodemanager.resource.memory-mb Nodemanager节点分配最大内存数 8192 65536

yarn.scheduler.minimum-allocation-vcores 一个container分配最小vcore数 1 1

yarn.scheduler.maximum-allocation-vcores 一个container分配最大vcore数 32 32

yarn.scheduler.minimum-allocation-mb 一个container分配的最小内存 1024 1024

yarn.scheduler.maximum-allocation-mb 一个container分配的最大内存 8192 65536

8.Mapreduce

参数 说明 默认值 建议值

mapreduce.map.memory.mb Map进程堆内存 1024 2048

mapreduce.map.cpu.vcores Map配置的vcore数 1 1

mapreduce.reduce.memory.mb Reduce进程内存 1024 4096

mapreduce.reduce.cpu.vcores Reduce配置的vcore数 1 1

yarn.app.mapreduce.am.resource.mb MRAPPmaster进程内存 1536 4096

yarn.app.mapreduce.am.resource.cpu-vcores MRAPPmaster配置的vcore数 1 1

9.Hive

参数 说明 默认值 建议值

Client Heap Size Client进程堆内存 1024 1024

Metastore Heap Size Metastore进程堆内存 1024 5120

HiveServer2 Heap Size Hiveserver2进程堆内存 1024 8192

根据现场业务需要进行调整的参数:

参数 说明 默认值 建议值

hive.exec.compress.output Hive开启输出压缩 false true

mapreduce.output.fileoutputformat.compress mapreduce输出压缩 false true

mapreduce.output.fileoutputformat.compress.type mapreduce输出压缩级别 RECORD BLOCK

mapreduce.output.fileoutputformat.compress.codec Mapreduce输出压缩算法 org.apache.hadoop.io.compress.DefaultCodec org.apache.hadoop.io.compress.SnappyCodec

hive.exec.compress.intermediate Hive中间结果压缩 false true

mapreduce.map.output.compress mapreduce中间结果压缩 false true

mapreduce.map.output.compress.codec mapreduce中间结果压缩算法 org.apache.hadoop.io.compress.DefaultCodec org.apache.hadoop.io.compress.SnappyCodec

hive.execution.engine Hive执行引擎 mr tez

hive.exec.parallel Hive job并行执行 false true

hive.mapred.mode Hive是否过滤不合理查询 nonstrict strict

hive.merge.mapredfiles Hive开启文件合并 false true

hive.merge.size.per.task Hive文件合并大小 256000000 256000000

hive.merge.smallfiles.avgsize Hive文件合并大小平均值 16000000 256000000

mapreduce.input.fileinputformat.split.minsize 一个map处理的最小数据量 0 256000000

10.Hbase

参数 说明 默认值 建议值

HBase Master Maximum Memory Hbase master进程堆内存 1024 8192

HBase RegionServer Maximum Memory Hbase regionserver进程堆内存 1024 16384

参数 说明 默认值 建议值

hbase.regionserver.handler.count

Regionserver处理线程数 30 150

hbase.regionserver.global.memstore.upperLimit Hbase memory store内存占regionserver堆内存比例上限 0.2 0.4

hbase.regionserver.global.memstore.lowerLimit Hbase memory store内存占regionserver堆内存比例下限 0.18 0.35

hbase.hregion.memstore.flush.size Hbase Memory store内存数据刷到磁盘阈值 134217728 268435456

hbase.hstore.compactionThreshold

一次minor compaction的最小file数 5 10

hfile.block.cache.size storefile的读缓存占用Heap的大小百分比 0.6 0.4

hbase.hstore.blockingStoreFiles 执行block flush的StoreFiles文件数量阀值 100 150

hbase.hstore.compaction.max 一次minor compaction的最大file数 10 20

hbase.hstore.compaction.min 一次minor compaction的最小file数 3 10

hbase.hregion.memstore.block.multiplier Flush最大的store内存(store个数),超过就block写入。 2 8

hbase.server.thread.wakefrequency Block写的延时时间 10000 100

11.Spark

参数 说明 默认值 建议值

spark_daemon_memory sparkThriftServer进程堆内存 1024 10240

spark.executor.cores 每个executor分配的vcore数 1 5

spark.executor.memory 每个executor分配的内存 1024 10240

spark.yarn.executor.memoryOverhead Spark executor预留内存 384 2048

12.Tez

参数 说明 默认值 建议值

tez.yarn.ats.event.flush.timeout.millis Tez job完成后刷新yarn job信息时间 -1 60000

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,377评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,390评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,967评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,344评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,441评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,492评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,497评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,274评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,732评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,008评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,184评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,837评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,520评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,156评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,407评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,056评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,074评论 2 352

推荐阅读更多精彩内容