OmniShuffle Shuffle加速配置文件说明
spark.conf
参数 |
取值范围和缺省值 |
取值范围和缺省值说明 |
---|---|---|
spark.executor.extraClassPath |
$OCK_HOME/jars/*:. |
OmniShuffle的JAR包存放路径,“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
spark.driver.extraClassPath |
$OCK_HOME/jars/*:. |
OmniShuffle的JAR包存放路径,“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
spark.driver.extraJavaOptions |
-Djava.library.path=$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/common/openssl:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/common:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/common/ucx:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/common/ucx/ucx:$OCK_HOME/ock/ucache/23.0.0/linux-aarch64/lib/datakit:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/mf -Dlog4j.configuration=/usr/local/spark/conf/log4j.properties -Xms8g -XX:+UseParallelGC |
传递给driver的JVM选项字符串,“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
spark.executor.extraJavaOptions |
-Djava.library.path=$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/common/openssl:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/common:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/common/ucx:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/common/ucx/ucx:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/datakit:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/mf -Xms8g -XX:+UseParallelGC -XX:ParallelGCThreads=6 -XX:ErrorFile=/tmp/hs_err_pid%p.log |
传递给Executor的JVM选项字符串,“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
spark.driver.extraLibraryPath |
$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/common/openssl:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/common:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/common/ucx:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/common/ucx/ucx:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/datakit:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/mf:. |
指定启动driver的JVM时使用的库路径,“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
spark.executor.extraLibraryPath |
$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/common/openssl:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/common:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/common/ucx:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/common/ucx/ucx:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/datakit:$OCK_HOME/ucache/23.0.0/linux-aarch64/lib/mf:. |
指定启动Executor的JVM时使用的库路径,“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
spark.shuffle.manager |
OCK Shuffle Manager的类路径。 |
|
spark.blacklist.enabled |
|
Spark自带参数,作业级应当设置为“true”以开启黑名单机制使能故障恢复。 |
spark.blacklist.application.fetchFailure.enabled |
|
Spark自带参数,作业级应当设置为“true”以开启FetchFailure拉黑机制使能故障恢复。 |
spark.files.fetchFailure.unRegisterOutputOnHost |
|
Spark自带参数,作业级应当设置为“true”以开启FetchFailure移除已有Map任务的输出使能故障恢复。 |
spark.yarn.blacklist.executor.launch.blacklisting.enabled |
|
Spark for Yarn自带参数,作业级应当设置为“true”以开启Yarn的节点黑名单机制。 |
spark.shuffle.service.enabled |
|
Spark自带参数,作业级应当设置为“false”以防止开启Spark External Shuffle Service。 |
spark.shuffle.ock.home |
|
OmniShuffle home文件夹位置。 |
spark.shuffle.ock.version |
|
OmniShuffle的版本号。 |
spark.shuffle.ock.binaryType |
|
OmniShuffle软件架构类型。 |
spark.shuffle.ock.isIsolated |
|
是否开启OmniShuffle的APP资源隔离功能,配合OmniShuffle Server端参数使用。 |
spark.shuffle.ock.scheduler.excludeUnavailableNodes |
|
是否开启Shuffle Manager的失效节点拉黑机制。 |
spark.shuffle.ock.removeShuffleDataAfterJobFinished |
|
(调优项)是否在一个Job完成后释放对应的Shuffle文件,在绝大多数场景下应设置为false,仅当用户确认不存在跨Job的Shuffle数据复用时可设置为true。 |
spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version |
2 |
Hadoop原生配置,用于性能调优,减少Shuffle输出文件耗时。 |
spark.shuffle.ock.aggregateFlags |
|
是否进行汇聚。 |
spark.broadcast.ock.manager |
|
是否开启OmniShuffle BroadCast特性。 |
spark.broadcast.ock.robustness |
|
OmniShuffle BroadCast可靠性开关。
|
spark.broadcast.ock.ockThresholdInMb |
缺省值:100 |
广播变量类型阈值(Mb)。当广播变量大小超过该阈值且spark.broadcast.ock.manager=true,设置为OmniShuffle BroadCast变量;否则设置为原生BroadCast变量。 |
spark.sql.ock.autoConfig.enable |
|
OmniShuffle BoostTuning并行度调整使能开关。 |
spark.sql.adaptive.enabled |
|
Spark原生AQE的功能开关,当前OmniShuffle BoostTuning仅使能AQE生效的Spark SQL作业,该配置项应开启为true。 |
spark.sql.ock.autoConfig.history |
|
OmniShuffle BoostTuning是否开启基于历史的并行度调整,绝大多数场景下不修改。 |
spark.sql.ock.autoConfig.sample |
|
OmniShuffle BoostTuning是否开启基于采样的并行度调整,如果sample与history都不开启,则并行度将不会变化,绝大多数场景下不修改。 |
spark.sql.ock.autoConfig.historyRelation |
|
(调优项)OmniShuffle BoostTuning是否采用关系式历史记录的算法,绝大多数场景下不修改。 |
spark.sql.ock.autoConfig.globalRuntimePartition |
|
(调优项)OmniShuffle BoostTuning是否在AQE不使能且无历史记录的场景下通过集群运行资源推理并行度,绝大多数场景下不修改。 |
spark.sql.ock.autoConfig.skipSample |
|
(调优项)OmniShuffle BoostTuning是否在上游数据量较小时跳过采样流程,绝大多数场景下不修改。 |
spark.sql.ock.autoConfig.skipSampleThreshold |
|
(调优项)OmniShuffle BoostTuning是否在上游数据量较小时跳过采样流程的阈值,绝大多数场景下不修改。 |
spark.sql.ock.autoConfig.historyStrategy |
|
OmniShuffle BoostTuning基于历史进行并行度调整的策略,绝大多数场景下不修改,具体含义如下。
|
spark.sql.ock.autoConfig.samplePartitionFraction |
|
(调优项)OmniShuffle BoostTuning采样流程中对数据量的采样比例,绝大多数场景下不修改。 |
spark.sql.ock.autoConfig.sampleRDDFraction |
|
(调优项)OmniShuffle BoostTuning采样流程中对数据分区的采样比例,绝大多数场景下不修改。 |
spark.sql.ock.autoConfig.partitionRatio |
|
(调优项)OmniShuffle BoostTuning计算Shuffle分区时的系数,绝大多数场景下不修改。 |
spark.ock.decimal.optimize |
|
(调优项)OmniShuffle针对Decimal类型数据计算的优化,绝大多数场景下不修改,本调优项只支持Spark 3.1.1版本。如果打开,需要以下配置。
|
mf.conf
参数 |
参考值 |
参考值说明 |
---|---|---|
ock.mf.ip_mask |
172.17.0.0~172.17.0.125 |
修改为集群配置mf节点的业务IP地址范围。此配置不包含管理节点IP地址。 |
ock.mf.ip |
127.0.0.1 |
本节点的环路IP地址,保持默认值。 |
ock.mf.port |
9999 |
|
ock.mf.protocol |
rc |
|
ock.mf.mem_size |
53687091200 |
|
ock.mf.water_mark_timer |
50 |
融合场景下内存水位扫描周期,单位:ms。保持默认值。 |
ock.mf.rpc.timeout |
600000 |
|
ock.ucache.rpc.enableAuthentication |
false |
是否开启安全特性。
若此三项设置为false,后续项不需要再设置。 |
ock.ucache.rpc.enableTLS |
false |
|
ock.ucache.rpc.enableAuthorization |
false |
|
ock.ucache.rpc.tls.ca.cert.path |
$OCK_HOME/security/tls/server/ca.cert.pem |
证书分发agent_node_list中节点生成的OmniShuffle使用的ca.cert.pem文件路径。“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
ock.ucache.rpc.tls.cert.path |
$OCK_HOME/security/tls/server/server.cert.pem |
证书分发agent_node_list中节点生成的OmniShuffle使用的server.cert.pem文件路径。“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
ock.ucache.rpc.tls.key.path |
$OCK_HOME/security/tls/server/server.private.key.pem |
证书分发agent_node_list中节点生成的OmniShuffle使用的server.private.key.pem文件路径。$OCK_HOME为OmniShuffle安装路径需按实际配置。 |
ock.ucache.rpc.tls.key.pass.path |
$OCK_HOME/security/tls/server/server.keypass.key |
证书分发agent_node_list中节点生成的OmniShuffle使用的server.keypass.key文件路径。“$OCK_HOME”为OmniShuffle安装路径,需按实际配置。 |
ock.ucache.rpc.tls.crl.path |
- |
OmniShuffle用户吊销列表。若无用户吊销列表的路径,则删除该参数。 |
ock.ucache.rpc.auth.type |
kerberos |
身份认证协议,目前使用kerberos协议。 |
ock.ucache.rpc.auth.kerb.client.keytab |
/home/Sparkadmin/huawei/ock/security/kdc/krb5-client_en.keytab |
|
ock.ucache.rpc.auth.kerb.server.keytab |
$OCK_HOME/security/kdc/krb5-server_en.keytab |
|
ock.ucache.rpc.auth.kerb.keytab.encrypted |
true |
keytab加密时设置为true,不加密时设置为false。 |
ock.ucache.rpc.auth.domain |
EXAMPLE.COM |
修改为KDC服务器指定的域名。 |
ock.ucache.rpc.auth.server.principle.name |
ock_server |
OmniShuffle Server端的principal名字 ,目前设置为ock_server。 |
ock.ucache.rpc.auth.client.principle.name |
ock_client |
OmniShuffle Client端的principal名字,目前设置为ock_client。 |
ock.ucache.rpc.author.type |
whitelist |
默认设置为whitelist。 |
ock.ucache.rpc.author.file.path |
$OCK_HOME/security/authorization/whitelist |
|
ock.ucache.rpc.author.file.encrypted |
true |
whitelist文件加密时设置为true,不加密时设置为false。 |
ock.ucache.kmc.ksf.primary.path |
$OCK_HOME/security/pmt/master/ksfa |
OmniShuffle用户kmc_tool生成的kmc.primary.ks文件。“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
ock.ucache.kmc.ksf.standby.path |
$OCK_HOME/security/pmt/standby/ksfb |
ock用户kmc_tool生成的kmc.standby.ks文件。“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
ock.ucache.kmc.ksf.backup.path |
$OCK_HOME/security/pmt/kmcbakup |
ock用户kmc.primary.ks文件和kmc.standby.ks文件的备份位置。“$OCK_HOME”为OmniShuffle安装路径需按实际配置。用户可以自行备份,可以改为自己的备份位置。 |
ock.ucache.sdk.kmc.ksf.primary.path |
/home/Sparkadmin/huawei/ock/security/pmt/master/ksfa |
提交Spark任务用户kmc_tool生成的kmc.primary.ks文件。修改“/home/Sparkadmin”为实际的安装路径。 |
ock.ucache.sdk.kmc.ksf.standby.path |
/home/Sparkadmin/huawei/ock/security/pmt/standby/ksfb |
提交Spark任务用户kmc_tool生成的kmc.standby.ks文件。修改“/home/Sparkadmin”为实际的安装路径。 |
ock.ucache.sdk.kmc.ksf.backup.path |
/home/Sparkadmin/huawei/ock/security/pmt/kmcbakup |
提交Spark任务用户kmc.primary.ks文件和kmc.standby.ks文件的备份位置。修改“/home/Sparkadmin”为实际的安装路径。用户可以自行备份,可以改为自己的备份位置。 |
ock.mf.capacity.report.period |
取值范围:[100, 180000] |
mf刷新ZooKeeper记录的最新容量情况周期,单位:ms。 |
ock.ucache.server.isIsolated |
true |
是否开启多租户检查特性,默认开启,保持默认值即可。
|
ock.ucache.worker.thread.groups |
1,1 |
配置1,1时可在TCP场景下,mfserver间通过多条链路建链,提升性能, 默认关闭,无需配置。 |
ock.ucache.sdk.thread.groups |
1 |
配置>=1时,ockclient和mfserver间通过多条链路建链,提升性能, 默认关闭,无需配置。 |
ock.ucache.rpc.client.auth.timeout |
[15000, 180000] |
RPC建链超时时间,单位:ms。 |
ock.ucache.rpc.tls.sdk.crl.path |
- |
提交Spark任务用户吊销列表。若无用户吊销列表的路径,则删除该参数。 |
ock.ucache.rpc.tls.sdk.ca.cert.path |
/home/Sparkadmin/huawei/ock/security/tls/ca.cert.pem |
证书分发agent_node_list中节点生成的提交Spark任务用户使用的ca.cert.pem文件路径。修改“/home/Sparkadmin”为实际的安装路径。 |
ock.hswap.path |
${OCK_HOME}/hswappath |
换盘路径。 |
ock.hswap.queue.cap.per.path |
65535 |
每个路径下的换盘队列容量。 |
ock.hswap.task.pool.size |
65535 |
线程池大小。 |
ock.hswap.max.aio.count.per.thread |
65535 |
每个线程的最大同时处理aio事件的计数。 |
ock.hswap.media.type |
0 |
盘类型,目前只支持一种类型,0表示NVMe。 |
ock.conf
以下带timeout字样的参数,除个别已标出单位的,单位为ms,网络状况差时可适当调大。端口配置范围为3000~65535。
参数 |
参考值 |
参考值说明 |
---|---|---|
ock.log.dir |
${OCK_HOME}/logs/ |
OmniShuffle运行日志目录,“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
ock.workers.dir |
${OCK_HOME}/conf/workers |
运行的工作节点主机名目录,一般与Hadoop的工作节点目录相同,“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
ock.log.level |
INFO |
运行日志级别,保持默认。 |
ock.log.fileSize |
20 |
单个运行日志文件大小,单位:M。取值范围:2~20 |
ock.log.rotation.file.num |
10 |
运行日志绕接的数量,超过该数量的日志会被删除。取值范围:1~20 |
ock.kv.levelDB.path |
/home/ockadmin/opt/ock/leveldb |
levelDB存放文件夹,保持默认。 |
ock.kv.levelDB.write_buffer_size |
67108864 |
levelDB一个memtable的最大大小,用于性能调优。 |
ock.kv.levelDB.max_file_size |
2097152 |
levelDB一个文件的最大大小,用于性能调优。 |
ock.ucache.enabled |
true |
Shuffle服务是否可用。 |
ock.ucache.rpc.shuffle_server.timeout |
150000 |
Shuffle Server RPC超时时间,单位:ms。 |
ock.ucache.rpc.shuffle_meta.timeout |
120000 |
元数据服务RPC超时时间,单位:ms。 |
ock.ucache.rpc.client.auth.timeout |
60000 |
节点的RPC的建链超时时间,单位:ms。 |
ock.ucache.rpc.local_blob.get.timeout |
150000 |
get LocalBlob单独的RPC超时时间,优先级高于默认时间,单位:ms。 |
ock.ucache.rpc.local_blob.commit.timeout |
150000 |
commit LocalBlob单独的RPC超时时间,优先级高于默认时间,单位:ms。 |
ock.ucache.rpc.transport.tcp.port.range |
60000-61000 |
TCP网络协议需要额外占用的端口范围。 |
ock.ucache.rpc.transport.protocol |
rc |
有IB网卡(RDMA)且可用时选“rc”,否则修改为“tcp”。 |
ock.ucache.rpc.transport.devices |
无 |
所使用的网卡设备名称,当环境存在多网卡运行时需要指定所使用的网卡,否则节点间通信可能失败。 |
ock.ucache.shuffle.profile.level |
0 |
性能统计的开关与等级。 |
ock.ucache.rpc.shuffle_meta.worker.thread.group |
1,3,3 |
元数据节点的线程池线程数量。 |
ock.ucache.rpc.shuffle_meta.worker.thread.cpuset |
无 |
元数据节点的通信工作线程CPU绑核参数。 |
ock.ucache.rpc.shuffle_meta.eventMgr.thread.cpuset |
无 |
元数据节点的通信事件管理线程CPU绑核参数。 |
ock.ucx.tcp.keepintvl |
60s |
TCP连接的存续时间,单位:s。在网络状况极差时可以调大。 |
ock.ucache.rpc.shuffle_server.port |
3891 |
Shuffle Server的服务端口,用户可以自己指定,在端口配置范围内即可。 |
ock.ucache.rpc.shuffle_meta.port |
3892 |
Shuffle Meta的服务端口,用户可以自己指定,在端口配置范围内即可。 |
ock.ucache.rpc.manager.port |
3899 |
Shuffle Client的服务端口。 |
ock.ucache.meta.node_lists |
127.0.0.1 |
Meta IP地址需改为127.0.0.X,为集群中设置为管理节点的业务IP地址,多个之间以“,”隔开。例如127.0.0.1,127.0.0.2。 |
ock.ucache.server.max_local_blob_capacity |
25769803776 |
最大local_local容量,用户可自行设置大于等于24GB,小于MF内存容量的50%。 目前参考值为24GB,单位:bit。 |
ock.ucache.server.data.isolation |
true |
是否开启OmniShuffle的APP资源隔离功能,配置Client端参数使用。 |
ock.zookeeper.server.url |
127.0.0.1:2181 |
配置ZooKeeper Server IP地址与端口。
|
ock.zookeeper.session.timeout |
30000 |
连接ZooKeeper会话超时时间。 |
ock.zookeeper.connect.timeout |
30 |
ZooKeeper尝试连接的超时时间,单位:s。节点数量多,连接延迟大的时候,可以把参数改大。 |
ock.ucache.server.swap.threshold.higher_watermark |
60 |
将只读的ShuffleBlob向外交换的内存水位线,范围0~100。不建议修改。 |
ock.ucache.server.swap.threshold.lower_watermark |
20 |
将只有外部存储的ShuffleBlob向内存池交换的内存水位线,范围0~100。不建议修改。 |
ock.ucache.server.swap.threshold.free_water_mater |
80 |
mf内存使用率超过设置值后,开始准备释放已经交换出去的ShuffleBlob占用的内存,范围为0~100。不建议修改。 |
ock.ucache.server.swap.path |
- |
交换到外部存储的文件目录,多个目录用逗号分隔。必填字段,否则无法启动。建议权限设置为750。 |
ock.ucache.rpc.enableAuthentication |
true |
是否开启安全特性。
|
ock.ucache.rpc.enableTLS |
true |
是否开启传输加密。 |
ock.ucache.rpc.enableAuthorization |
true |
是否开启登录认证。 |
ock.ucache.rpc.tls.ca.cert.path |
${OCK_HOME}/security/tls/server/ca.cert.pem |
证书分发时agent_node_list中节点生成的ock用户使用的ca.cert.pem文件路径。“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
ock.ucache.rpc.tls.cert.path |
${OCK_HOME}/security/tls/server/server.private.key.pem |
证书分发agent_node_list中节点生成的ock用户使用的server.private.key.pem文件路径。“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
ock.ucache.rpc.tls.key.path |
${OCK_HOME}/security/tls/server/server.cert.pem |
证书分发agent_node_list中节点生成的ock用户使用的agent.private.key.pem文件路径。“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
ock.ucache.rpc.tls.key.pass.path |
${OCK_HOME}/security/tls/server/server.keypass.key |
证书分发agent_node_list中节点生成的ock用户使用的server.keypass.key文件路径。“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
ock.ucache.rpc.tls.crl.path |
- |
ock用户使用的吊销列表。若无用户吊销列表的路径,可以为空。 |
ock.ucache.rpc.auth.type |
kerberos |
身份认证协议,目前使用Kerberos协议。 |
ock.ucache.rpc.auth.kerb.client.keytab |
${OCK_HOME}/security/authentication/krb5-client_en.keytab |
KDC服务器分发给各节点提交Spark任务用户使用的krb5-client.keytab文件路径。“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
ock.ucache.rpc.auth.kerb.server.keytab |
${OCK_HOME}/security/kdc/krb5-server_en.keytab |
|
ock.ucache.rpc.auth.kerb.keytab.encrypted |
true |
keytab是否加密,安全特性开启时设置才有效。
|
ock.ucache.rpc.auth.domain |
EXAMPLE.COM |
KDC服务器指定的域名。 |
ock.ucache.rpc.auth.server.principle.name |
ock_server |
OmniShuffle Server端的principal名字 ,目前设置为ock_server。 |
ock.ucache.rpc.auth.client.principle.name |
ock_client |
OmniShuffle Client的principal名称,目前设置为ock_client。 |
ock.ucache.rpc.auth.meta.principle.mapping |
127.0.0.1:hostname |
与ock.ucache.meta.node_lists中IP地址一致,多个之间以“,”隔开,比如127.0.0.1:hostname1,127.0.0.2:hostname2。 |
ock.ucache.rpc.author.type |
whitelist |
默认设置为whitelist。 |
ock.ucache.rpc.author.file.path |
${OCK_HOME}/security/authorization/whitelist |
KDC配置生成的whitelist所在的路径。“$OCK_HOME”为OmniShuffle安装路径需按实际配置。“ock.ucache.rpc.author.file.encrypted”参数设置为“true”时修改whitelist为whitelist_en。 |
ock.ucache.rpc.author.file.encrypted |
true |
whitelist文件是否加密。
|
ock.daemon.expireChecker.period |
86400 |
安全证书检查周期。单位:s。 |
ock.ucache.kmc.ksf.primary.path |
${OCK_HOME}/security/pmt/master/ksfa |
ock用户kmc_tool生成的kmc.primary.ks文件。“${OCK_HOME}”为OmniShuffle安装路径需按实际配置。 |
ock.ucache.kmc.ksf.standby.path |
${OCK_HOME}/security/pmt/standby/ksfb |
ock用户kmc_tool生成的kmc.standby.ks文件。“${OCK_HOME}”为OmniShuffle安装路径需按实际配置。 |
ock.ucache.kmc.ksf.backup.path |
${OCK_HOME}/security/pmt/kmcbakup |
ock用户kmc.primary.ks文件和kmc.standby.ks文件的备份位置。“${OCK_HOME}”为OmniShuffle安装路径需按实际配置。用户可以自行备份,可以改为自己的备份位置。 |
ock.zookeeper.security.principle.name |
zookeeper |
配置Kerberos认证server端principle名,代表principle的第1部分。 |
ock.zookeeper.security.principle.hostname |
master |
配置Kerberos认证ZooKeeper Server端principle名,代表principle的第2部分。 |
ock.zookeeper.security.strategy |
GSSAPI |
配置sasl支持的Kerberos认证机制,保持默认值GSSAPI。 |
ock.zookeeper.security.enable |
true |
是否开启ZooKeeper加密。
|
ock.zookeeper.security.isKeytabEncrypt |
true |
client.keytab是否是加密的。
|
ock.zookeeper.security.certs |
/home/ockadmin/opt/ock/security/tls/server.crt.pem,/home/ockadmin/opt/ock/security/tls/client.crt.pem,*** |
开启TLS+Kerberos功能时ock用户配置TLS所需的证书,包括server.crt.pem,client.crt.pem,client.pem,以及用kmc加密的pem证书口令4部分。仅开启TLS功能则赋值为“false”。 |
ock.zookeeper.security.client.principle |
zkcli/master@HUAWEI.COM |
配置ock用户Kerberos认证ZooKeeper Client端principle(master为节点hostname,HUAWEI.COM为KDC设置的域名)。 |
ock.zookeeper.security.client.keytab |
${OCK_HOME}/security/kdc/krb5-server_en.keytab |
配置ock用户Kerberos认证ZooKeeper Client端keytab路径。“${OCK_HOME}”为OmniShuffle安装路径需按实际配置 |
ock.ucache.broadcast.variable.create.timeout |
600000 |
创建广播变量的超时时间,单位:ms。 -1表示不超时。 |
ock.ucache.broadcast.variable.fetch.timeout |
600000 |
拉取广播变量的超时时间,单位:ms。-1表示不超时。 |
ock.ucache.broadcast.bt.percent |
10 |
广播变量拉取过程中,BT server占集群节点数的百分比。取值范围:1~100。 |
ock.ucache.rpc.transport.ipfilter |
- |
根据节点所在网段选择通信设备名称,例如192.168.100.194/24<,192.168.200.194/24>,支持英文逗号分割配置多个网段。可通过ip a查看网段信息。最好每个节点都统一配置。 |
ock.ucache.rpc.transport.devices.path |
/sys/class/infiniband/ |
rc网卡相关信息所在目录,一般采用默认值,不需要配置。 |
ock.ucache.rpc.openssl.path |
${OCK_HOME}/ucache/23.0.0/linux-aarch64/lib/common/openssl/libssl.so |
OmniShuffle所依赖的openssl so加载路径。“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
ock.ucache.rpc.crypto.path |
${OCK_HOME}/ucache/23.0.0/linux-aarch64/lib/common/openssl/libcrypto.so |
OmniShuffle所依赖的crypto so加载路径。“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
ock.ucache.rpc.tls.sdk.ca.cert.path |
/home/Sparkadmin/huawei/ock/security/tls/ca.cert.pem |
证书分发时agent_node_list中节点生成的提交Spark任务用户使用的ca.cert.pem文件路径。修改“/home/Sparkadmin”为实际的安装路径。 |
ock.ucache.rpc.tls.sdk.crl.path |
- |
提交Spark任务用户使用的吊销列表。若没有用户吊销列表的路径,则可以为空。 |
ock.ucache.sdk.kmc.ksf.primary.path |
/home/Sparkadmin/huawei/ock/security/pmt/master/ksfa |
提交Spark任务用户kmc_tool生成的kmc.primary.ks文件。修改/“home/Sparkadmin”为实际的安装路径。 |
ock.ucache.sdk.kmc.ksf.standby.path |
/home/Sparkadmin/huawei/ock/security/pmt/standby/ksfb |
提交Spark任务用户kmc_tool生成的kmc.standby.ks文件。修改“/home/Sparkadmin”为实际的安装路径。 |
ock.ucache.sdk.kmc.ksf.backup.path |
/home/Sparkadmin/huawei/ock/security/pmt/kmcbakup |
提交Spark任务用户kmc.primary.ks文件和kmc.standby.ks文件的备份位置。修改“/home/Sparkadmin”为实际的安装路径。用户可以自行备份,可以改为自己的备份位置。 |
ock.zookeeper.sdk.security.certs |
/home/Sparkadmin/huawei/ock/security/tls/server.crt.pem,/home/Sparkadmin/huawei/ock/security/tls/client.crt.pem,/home/Sparkadmin/huawei/ock/security/tls/client.pem,*** |
开启TLS+Kerberos功能时提交Spark任务用户配置TLS所需的证书,包括server.crt.pem,client.crt.pem,client.pem,以及用kmc加密的pem证书口令4部分。仅开启TLS功能则赋值为“false”。 |
ock.zookeeper.sdk.security.client.principle |
zkcli/master@HUAWEI.COM |
配置提交Spark任务用户Kerberos认证ZooKeeper Client端principle(master为节点hostname,HUAWEI.COM为KDC设置的域名)。 |
ock.zookeeper.sdk.security.client.keytab |
/home/Sparkadmin/huawei/ock/security/kdc/krb5-client_en.keytab |
配置提交Spark任务用户Kerberos认证ZooKeeper Client端keytab路径。 |
ock.daemon.expireChecker.lead |
- |
证书到期提醒,不配置默认到期前7天,配置范围7-180。 |
ock.ucache.server.aggregator.core.thread.num |
4 |
聚合核心线程数,配置范围1至设备最大核数。 |
ock.tuning.enabled |
true |
BoostTuning服务是否可用。 |
ock.tuning.history.persist.type |
local |
历史记录持久化方式。
|
ock.tuning.history.persist.path |
${OCK_HOME}/history |
历史记录存放路径。 |
ock.tuning.history.file.max.number |
5 |
仅local方式有效,存放历史记录的文件最大个数,取值范围[1,5]。 |
ock.tuning.history.file.read.number |
2 |
仅local方式有效,读取历史记录的文件个数,每次读取最新的文件,取值范围[1,2]。 |
ock.tuning.rpc.server.port |
3893 |
RPC服务的端口。 |
ock.tuning.rpc.timeout |
240000 |
RPC服务超时毫秒数。 |
ock-start-ockd-by-yarn.sh
参数 |
参考值 |
参考值说明 |
---|---|---|
retry_times |
5 |
Yarn尝试启动OCKD的进程次数 |
interval_time |
150 |
Yarn尝试启动OCKD进程间隔时间,单位:s。 |
forever_interval_time |
600 |
尝试retry_times次后依然没启动OCKD进程,则每隔forever_interval_time(单位:s)继续尝试启动OCKD进程。 |
agent_node_list
文件内容格式如下:
IPaddress 运维账号
当有多个节点时,每行写一个IP地址与运维账号,所有节点信息均需写入。
1.1.1.1 运维用户 1.1.1.3 运维用户 1.1.1.5 运维用户 1.1.1.7 运维用户
CA_node_list
文件内容格式如下:
IPaddress 运维账号
当有多个节点时,每行写一个IP地址与运维账号,仅写入管理节点的信息。
1.1.1.9 BigDataAdmin
ock-launch-cluster.sh
参数 |
参考值 |
参考值说明 |
---|---|---|
ock_vcore |
15 |
OmniShuffle占用的CPU数目。 |
ock_memory |
61440 |
OmniShuffle占用的内存数目,取mf内存的110%容量和mf内存加上10GB两者之间的最大值,包含自身运行内存。单位:MB。 |
master_vcore |
5 |
launch master占用的CPU数目。 |
master_memory |
10240 |
launch master占用的内存数目,单位:MB。 |
queue |
空 |
OmniShuffle所在Yarn队列。 |
ock_master_partition_label |
空 |
launch master所在的Yarn分区标签。 |
need_kerberos |
空 |
任务提交前,是否需要Kerberos认证。 |
kerberos_conf |
空 |
Kerberos认证krb5.conf配置文件路径。“need_kerberos”为“true”时生效。 |
kerberos_user |
空 |
Kerberos认证用户名。“need_kerberos”为“true”时生效。 |
kerberos_key_table |
空 |
Kerberos认证用户名对应keytable文件路径。“need_kerberos”为“true”时生效。 |
local_dir |
$(cd "$(dirname $0)"||exit 0; pwd) |
当前路径。 |
ock_home |
$(cd "$(dirname $0)"/../../../..||exit 0; pwd) |
OmniShuffle部署路径。 |
ock_version_dir |
$(cd "$(dirname $0)"/../..||exit 0; pwd) |
OmniShuffle版本路径。 |
ock_version |
"${ock_version_dir##*/}" |
OmniShuffle版本号。 |
ock_run_shell_path |
"${local_dir}/ock-start-ockd-by-yarn.sh" |
Yarn启动OmniShuffle的脚本路径。 |
ock_nodes_list_path |
"${ock_home}/conf/ock_node_list" |
OmniShuffle所在节点列表配置文件路径。 |
client_jar_path |
"${ock_home}/jars/ock-launch-cluster-${ock_version}.jar" |
Yarn启动OmniShuffle的JAR文件路径。 |
log_path |
"${ock_home}/logs/ock-launch-cluster.log" |
Yarn启动OmniShuffle的日志文件路径。 |
appid_path |
"${ock_home}/work/yarn-appids/yarn-ock.appid" |
Yarn启动OmniShuffle的app id文件路径。 |
ock-stop-cluster.sh
参数 |
参考值 |
参考值说明 |
---|---|---|
ock_home |
"$(cd "$(dirname $0)"/../../../..||exit ${EXT}; pwd)" |
OmniShuffle部署路径。 |
appid_path |
"${ock_home}/work/yarn-appids/yarn-ock.appid" |
Yarn关停OmniShuffle的app id文件路径。 |
log_path |
"${OCK_HOME}/logs/ock-stop-cluster.log" |
Yarn关停OmniShuffle的日志文件路径。“$OCK_HOME”为OmniShuffle安装路径需按实际配置。 |
ock_id |
$(cat ${appid_path}|grep -Eo "application_[0-9]+_[0-9]+") |
Yarn中OCK的application_id。 |