CDH0集群优化配置

上传人:m**** 文档编号:463953671 上传时间:2022-10-06 格式:DOCX 页数:6 大小:12.05KB
返回 下载 相关 举报
CDH0集群优化配置_第1页
第1页 / 共6页
CDH0集群优化配置_第2页
第2页 / 共6页
CDH0集群优化配置_第3页
第3页 / 共6页
CDH0集群优化配置_第4页
第4页 / 共6页
CDH0集群优化配置_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《CDH0集群优化配置》由会员分享,可在线阅读,更多相关《CDH0集群优化配置(6页珍藏版)》请在金锄头文库上搜索。

1、CDH5.2.0集群优化配置HDFS dfs.block.size HDFS 中的数据 block 大小,默认是 64M ,对于较大集群,可以设置为128或264Mdfs.datanode.socket.write.timeout/dfs.socket.timeout 增力口 dfs.datanode.socket.write.timeout 和 dfs.socket.timeout 两个属 性的设置(默认 300),比如30000,避免可能由现的IO超 时异常 dfs.datanode.max.transfer.threads 增力口 datanode在进 行文件传输时最大线程数(默认409

2、6),比如8192,假设集群中有莫台dataode主机的这个值比其他主机的大,那么这 台主机上存储的数据相对别的主机比较多,导致数据分布不 均匀的问题,即使 balance仍然会不均匀 dfs.namenode.handler.count 设定 namenode server threads 的 数量,默认是10,对于较大集群,可适当调大,比如64o这些threads 11r用RPC跟其他的 datanodes沟通。当 datanodes数量太多时会发班1很容易由班1RPC timeout,解决方法是提升网络速度或提高这个值,但要注意的是thread数量多也表示 namenode消耗的内存也随

3、着增加 dfs.datanode.handler.count datanode上用于处理 RPC 的线程 数,默认是3,对于较大集群可适当调大,比如8。YARNyarn.app.mapreduce.am.resource.mb ApplicationMaster 的 container占用的内存大小,可适当调低mapreduce.map.memory.mb/mapreduce.reduce.memory.mb 作 业的每个 Map/Reduce任务分配的物理内存量,参数大于最 小容器内存(yarn.scheduler.minimum-allocation-mb ),两个参 数配置的值设置一样即

4、可mapreduce.map.java.opts.max.heap/mapreduce.reduce.java.opts .max.heap每个Map/Reduce的JVM启动所占用的内存,正 常此参数小于等于 Map/Reduce申请的内存(mapreduce.map.memory.mb/mapreduce.reduce.memory.mb) 的85% ,因为map任务里不一定只跑 java,比如hadoop streaming 程序 io.file.buffer.size SequenceFiles 读取和写入操 作的缓存区大小,还有map的输生都用到了这个缓冲区容量, 可减少I/O次数。

5、建议设定为64KB到128KBmapreduce.task.io.sort.factor Reduce Task 中合并小文件时, 次合并的文件数据,每次合并的时候选择最小的前N个进行合并,止匕参数正常与 mapreduce.task.io.sort.mb起酉已置 mapreduce.task.io.sort.mb Map Task缓冲区排序文件时要使用 的内存缓冲总量, 如果 mapreduce.task.io.sort.factor设置了较 大值,此参数也应相应调大io.sort.spill.percentmapreduce.task.io.sort.mb 的阈值,默认是 80%,当 bu

6、ffer 中的 数据达到这个阈值,后台线程会起来对buffer中已有的数据进行排序,然后写入磁盘yarn.nodemanager.resource.memory-mb NodeManager 节点上可使用的物理内存总量,默认是8192 (MB),根据节点所能分配的最大的内存进行分配即可(扣除其他服务内存、系统 内存等) yarn.scheduler.minimum-allocation-mb 容器可以请 求的最小物理内存量,此参数小于等于作业分配的 MapReduce 内存量(mapreduce.map.memory.mb/mapreduce.reduce.memory.mb) yarn.sc

7、heduler.increment-allocation-mb 内存规整化单位,为容 器申请内存增量,最后内存请求数量将四舍五入为该数字最 接近的倍数,比如使用 Fair Scheduler, Container请求资源 是1.5GB ,容量增量为1G,则将被调度器规整化为 ceiling(1.5 GB / 1GB) * 1G y 2GB (公式:(请求资源 /容量增量)* 容量增量) yarn.scheduler.maximum-allocation-mb 单个任 务可申请的最大物理内存量(默认是8192 (MB)。默认情况下,YARN采用了线程监控的方法判断任务是否超量使用 内存,一旦发现

8、超量,则直接将其杀死HBASEzookeeper.session.timeout RegionServer 与 Zookeeper 间的连接 超时时间,默认180000ms (正常维持这个时间)。当超时时 间到后,ReigonServer会被Zookeeper从集群清单中移除, HMaster收到移除通知后, 会对这台server负责的regions重 新balance,让其他存活的 RegionServer接管,修改此参数也 应该修改 Zookeeper对应最大超时时间 (maxSessionTimeout) hbase.hregion.max.filesize 在当前 ReigonServ

9、er上单个 Reigon 的最大存储空间,单个 Region超过该值时,这个 Region会被自动split成更小的region, 一般512M以下的都算小 region ,根据实际情况可设置成5-10G大小hbase.regionserver.handler.count 增大 RegionServer 中启动的 RPC服务器实例数量(默认10),比如50,此参数正常与hbase.client.write.buffer 起配置 hbase.client.write.buffer 增 大htable客户端写缓冲区大小(默认是2097152),比如5M ,缓冲区是为了写数据的临时存放,设置大了,浪

10、费客户端和 服务端的存储,设置小了,如果写的数据多,太多的RPC又 带来网络开销,官方给的一个服务端存储耗费评估计算是: hbase.client.write.buffer*hbase.regionserver.handler.count ,月艮务 端的region server的处理handler个数也很关键 hbase.hregion.memstore.flush.size 当单个 memstore 达至U指定 值时,flush 该 memstore (一台 ReigonServer可能有成百上千 个memstore), CDH5.2.0默认大小为128M ,内存允许情况 下,适当调高此参

11、数,可避免过多的flushhbase.regionserver.global.memstore.upperLimit/lowerLimit 这 是一个Heap内存保护参数,默认值已经能适用大多数场景(如非特殊情况,不做修改)。hbase.regionserver.global.memstore.upperLimit 的意思是当 ReigonServer内所有的 memstore所占用的内存总和达到 heap 的 hbase.regionserver.global.memstore.upperLimit 大/4时,HBase会强制block所有的更新并 flush这些 memstore以释 放所

12、有 memstore占用的内存; hbase.regionserver.global.memstore.lowserLimit 的意思是当全 局memstore的内存达到 hbase.regionserver.global.memstore.lowserLimit 大/4时,它不 会flush所有的memstore,它会找一些内存占用较大的 memstore,做个别flush ,当然更新还是会被blockhfile.block.cache.size 该值直接影响数据读的性能,storefile的读缓存占用Heap的大小百分比。如果读比写少, 0.4-0.5, 如果读写较均衡,0.3左右。如果写

13、比读多,默认即可。设 置这个值的时候,需要参考hbase.regionserver.global.memstore.upperLimit ,如果两值力口起 来超过80-90%,会有 OOM 的风险 hbase.hstore.blockingStoreFiles 在 compaction 时,如果个 Store(Coulmn Family)内有超过 base.hstore.blockingStoreFiles 个storefile需要合并,则block所有的写请求,进行 flush , 限制storefile数量增长过快,直到完成压缩或直到超过为 hbase.hstore.blockingWai

14、tTime 指定的值。但是 block 写请求 会影响当前region的性能,将值设为单个region可以支撑的 最大store file数量会是个不错的选择,即允许comapction时,memstore继续生成 storefile o 最大 storefile 数量可通过 hbase.hregion.max.filesize/hbase.hregion.memstore.flush.size 来计算 hbase.hstore.blockingWaitTime 达至U 由 hbase.hstore.blockingStoreFiles 指定的 HStoreFile 限制后, HRegion阻

15、止更新的时间段。 此时间段过后,HRegion将停 止阻止更新,即使尚未完成压缩,即写请求继续被处理,可 适当增大是参数 hbase.client.scanner.caching scanne一次缓 存多少数据来scan(从服务端一次读取多少数据回来scan),内存允许情况下, 增大此参数 SOLR Solr Server的Java 堆栈大小Java进程堆栈内存的最大大小,传递到 Java -Xmx ,内存允许情况下,调高此参数 Solr服务器的Java直 接内存大小 由Java进程分配的最大堆栈外内存量。传递到 Java -XX:MaxDirectMemorySize。如果未设置,则默认为堆

16、 的大小,内存允许情况下,调高此参数 schema.xml优化1. 将所有只用于搜索的,而不需要作为结果的field (特别是一些比较大的field)的stored设置为false 2.将不需要被用于 搜索的,而只是作为结果返回的field的indexed设置为false3.删除所有不必要的 copyField声明4.使用尽可能高的 Log输由等级,减少日志量 solrConfig.xml优化1.增大 maxBufferedDocs大小,增加服务器接收批量请求数,也可 通过增加ramBufferSizeMB 大小来增加服务器 buffer ZOOKEEPER maxClientCnxns 增大此参数,增加最大客户端 连接数maxSessionTimeout增大此参数,增加最大会话时间

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号