使用OmniShield机密大数据特性执行Spark引擎业务,需通过启动Spark提交任务执行。
- 在“/opt/omnishield”目录下执行SQL并打开Shuffle IO加密,命令如下。
|
spark-sql --driver-cores 5 --driver-memory 20g --num-executors 6 --executor-cores 4 --executor-memory 20g --conf spark.executor.memoryOverhead=20g --master yarn --conf spark.memory.offHeap.enabled=true --conf spark.memory.offHeap.size=18g --conf spark.task.cpus=1 --conf spark.driver.maxResultSize=40g --conf spark.authenticate.secret=testSecret --conf spark.authenticate=true --conf spark.io.encryption.enabled=true --conf spark.io.encryption.commons.config.cipher.classes=com.huawei.boostkit.omnishield.cipher.SM4Cipher --conf spark.io.crypto.cipher.transformation=SM4/GCM/NOPadding --conf spark.network.crypto.enabled=true --conf spark.network.crypto.cipher=SM4/GCM/NOPadding --conf spark.driver.extraClassPath=omnishield-1.0-SNAPSHOT.jar --conf spark.executor.extraClassPath=omnishield-1.0-SNAPSHOT.jar --jars omnishield-1.0-SNAPSHOT.jar --database tpcds_bin_partitioned_varchar_orc_2 -f /automated/lib/bd/testcase/scripts/omniop/conf/Spark_OmniRuntime_ShuffleEnhance/Spark_OmniRuntime_ShuffleEnhance_002.sql
|
- Shuffle磁盘IO加密打开需修改以下命令参数:
- spark.io.encryption.enabled=true
- spark.io.encryption.commons.config.cipher.classes=自定义实现Cipher类
- spark.io.crypto.cipher.transformation=SM4/GCM/NOPadding
- Shuffle网络IO加密打开需修改以下命令参数:
- spark.authenticate.secret=自定义密钥
- spark.authenticate=true
- spark.network.crypto.enabled=true
- spark.network.crypto.cipher=SM4/GCM/NOPadding。
- 查看Shuffle IO支持国密是否生效。
- 获取Executor日志。
|
yarn logs --applicationId application_xxx > xxx.log
|
- 查看是否有使用国密的相关日志,出现Shuffle network IO encryption will use SM4/GCM/NOPadding algorithm和Shuffle disk IO encryption will use SM4/GCM/NOPadding algorithm即生效。
