操作场景
当节点组内ECS实例的规格(vCPU和内存)无法满足您的业务需求时,您可以使用配置升级功能提升ECS实例规格。升级配置后需要手动修改HDFS、YARN和Spark等服务的配置信息。本文为您介绍如何在翼MR Manager的“配置管理”页面修改配置项。
前提条件
已创建集群。
操作步骤
在翼MR Manager中,单击“运维与配置”。
- 单击“配置管理”。
- 选择“所选集群服务”,点击查询,即可在当前页面修改配置信息。
配置修改建议说明
- Doris:Doris所在节点配置升级后,Doris FE建议使用节点一半内存。
- Elasticsearch:一个ES节点,内存建议不超过64G。ES所在节点配置升级后,ES会自动根据节点情况设置内存值,一般无须用户手动修改,但需要重启集群。如果想手动设置,可以修改jvm.options文件配置-Xms30g、-Xmx30g参数,并重启集群。
- HBase:HBase所在节点配置升级后,修改建议如下:
- hbase-site.xml:hbase.regionserver.handler.count
说明
一般跟CPU核数相同。
- hbase-env.sh:export HBASE_MASTER_OPTS :"-Xmsg -Xmxg"
说明
master不消耗很多内存,一般默认不添加或者分配2~8G左右。
- hbase-env.sh:export HBASE_REGIONSERVER_OPTS:"-Xmsg -Xmxg "
说明
regionserver需要较多内存,一般配置内存配额的一半或更多。
- hbase-site.xml:hbase.regionserver.handler.count
- HDFS:HDFS所在节点配置升级后,可以根据hadoop-env.sh 参数配置进行,通过调整服务的内存大小调整服务的性能,如-Xmx20g -Xms20g -Xmn4g,然后重启服务。NameNode 建议文件、目录、数据块之和1亿,配置50G。
- Hive:Hive所在节点配置升级后,可以通过hive-env.sh统一参数配置来进行,也可以在作业提交时使用额外参数指定来进行。通过调整服务的内存大小调整服务的性能,如-Xmx20g -Xms20g -Xmn4g,然后重启服务。内存大小可以根据机器的总内存而定,建议初始值为总内存大小的10%,后续根据性能需求调整。
- Kafka:Kafka所在节点配置升级后,建议配置如下:
- kafka-env.sh设置jvm配置参数:调整jvm堆大小,通过调整参数:export KAFKA_HEAP_OPTS="-Xmx20G -Xms20G -Xmn4g"设置堆大小。
- server.properties文件建议修改的配置项:
- num.io.threads:修改写磁盘的线程数,建议配置为CPU核数的50%;
- num.replica.fetchers:修改副本拉取线程数,建议配置为CPU核数50%的1/3;
- num.network.threads:修改数据传输线程数,建议配置为CPU核数的50%的2/3;
- replica.fetch.max.bytes:副本拉取数据量的大小。内存增加,可以适当加大该值;
- socket.send.buffer.bytes:调整socket发送的数据量。内存增加,可以适当加大该值;
- socket.receive.buffer.bytes:调整socke接受的数据量。内存增加,可以适当加大该值;
- socket.request.max.bytes:socket请求的数据量。内存增加,可以适当加大该值。
- Kerberos:建议保持默认值,无需修改配置。
- Kibana:Kibana是一个基于NodeJS的单页web应用,一般情况下,对内存CPU占用很少,无须修改内存、CPU等配置。
- Kyuubi:Kyuubi一般情况下,对内存CPU占用很少,无须修改内存、CPU等配置。
- OpenLDAP:建议保持默认值,无需修改配置。
- Ranger:Ranger所在节点配置升级后,修改建议如下:
- ranger-admin通过{installdir}/ews/ranger-admin-services.sh中变量 ranger_admin_max_heap_size的值修改JMX,JAVA_OPTS修改Xmx、Xmn等JVM参数,一般设置1-8g,1K policy建议设置为1G,1W policy建议设置为8G。
- ranger-usersync通过/{installdir}/ranger-usersync-services.sh中变量ranger_usersync_max_heap_size 的值修改JMX,JAVA_OPTS修改Xmx Xmn等JVM参数,一般设置1-8g,1K policy建议设置为1G,1W policy建议设置为8G。
- Spark:Spark所在节点配置升级后,修改建议如下:
- spark.history.kerberos.principal和spark.history.kerberos.keytab为spark读写eventLog的租户,用户如有特殊需求自行更改。
- spark.yarn.historyServer.address=: 说明了history server的地址,用户如有特殊需求自行更改。
- spark.dynamicAllocation.enabled 和 spark.dynamicAllocation.maxExecutors 分别控制动态和动态开启下能使用的最大资源,用户如有特殊需求自行更改。
- spark.executor.cores 和 spark.executor.memory 确保spark.executor的每一个core分配到2~4g内存,标准是4g,具体视情况而定,设置core的memory设置过小executor容易oom。
- Trino:Trino的服务包括coordinator和worker。Trino所在节点配置升级后,可以根据jvm.config参数配置进行,通过调整服务的内存大小调整服务的性能,如-Xmx128g -Xms128g,然后重启服务。
- YARN:YARN所在节点配置升级后,可以根据yarn-env.sh 参数配置进行,通过调整服务的内存大小来调整服务的性能,如-Xmx20g -Xms20g -Xmn4g,然后重启服务。NM用于集群中作业的内存和CPU,需要修改NodeManager节点的yarn-site.xml中的yarn.nodemanager.resource.memory-mb的值,该值用于所有作业的最多可用内存;以及yarn.nodemanager.resource.cpu-vcores的值,该值用于所有作业的最多可用虚拟CPU核数。
- ZooKeeper:ZooKeeper所在节点配置升级后,可通过配置java.env文件,在其中添加:export ZK_SERVER_HEAP=2048(这里设置的单位默认是MB)。