提示信息

java.lang.Exception: spark.executor.extraJavaOptions is not allowed to set Spark options (was '-Dfile.encoding=UTF-8 -Dhdp.version=current -Dlog4j.configuration=spark-executor-log4j-default.properties -Dlog4j.debug -Dkylin.hdfs.working.dir=hdfs://node-a4:9000/kylin/kylin_metadata/ -Dkylin.metadata.identifier=kylin_metadata -Dkylin.spark.category=job -Dkylin.spark.project=learn_kylin -Dkylin.spark.identifier=c9ec57fe-1c28-4522-a1d7-4d2bb50389ec -Dkylin.spark.jobName=c9ec57fe-1c28-4522-a1d7-4d2bb50389ec-01 -Duser.timezone=Asia/Shanghai -Djava.security.auth.login.config=/alidata2/server/spark-3.1.3-bin-hadoop3.2/conf/jaas.conf -Djava.security.krb5.conf=/etc/krb5.conf -Djavax.security.auth.useSubjectCredsOnly=false -Dspark.hadoop.hadoop.security.authentication=kerberos -Dspark.kerberos.enabled=true -Dspark.kerberos.principal=spark/_HOST@cp.com -Dspark.kerberos.keytab=/etc/security/keytab/spark.keytab'). Set them directly on a SparkConf or in a properties file when using ./bin/spark-submit.

事与愿违 已关注

这个错误提示意味着在 Apache Kylin 中,你不能通过 spark.executor.extraJavaOptions 来设置 Spark 配置选项。对于 Spark 的配置,最好直接在 spark-submit 提交时或者在 SparkConf 中设置。

你可以在 spark-submit 脚本中使用 --conf 参数来添加需要的配置。例如:

  1. ./bin/spark-submit --conf "spark.executor.extraJavaOptions=-Djava.security.auth.login.config=/alidata2/server/spark-3.1.3-bin-hadoop3.2/conf/jaas.conf -Djava.security.krb5.conf=/etc/krb5.conf -Djavax.security.auth.useSubjectCredsOnly=false" --conf "spark.hadoop.hadoop.security.authentication=kerberos" --conf "spark.kerberos.enabled=true" --conf "spark.kerberos.principal=spark/_HOST@cp.com" --conf "spark.kerberos.keytab=/etc/security/keytab/spark.keytab"

注意,以上命令行参数中的路径值和主体名称应根据你的实际环境进行替换。

另外,如果你在编程过程中创建了一个 SparkContext 或者 SparkSession 对象,可以使用 SparkConf 对象来设置这些参数,示例如下:

  1. SparkConf conf = new SparkConf()
  2. .set("spark.executor.extraJavaOptions", "-Djava.security.auth.login.config=/path/to/jaas.conf -Djava.security.krb5.conf=/path/to/krb5.conf -Djavax.security.auth.useSubjectCredsOnly=false")
  3. .set("spark.hadoop.hadoop.security.authentication", "kerberos")
  4. .set("spark.kerberos.enabled", "true")
  5. .set("spark.kerberos.principal", "spark/_HOST@domain.com")
  6. .set("spark.kerberos.keytab", "/path/to/keytab");
  7. SparkContext sc = new SparkContext(conf);

请注意,这是使用 Java API 的示例,如果你使用的是 Scala 或者 Python,方法可能会有所不同,但总体思路是一样的。在代码中,应该替换 /path/to/spark/_HOST@domain.com 为你的

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
事与愿违 关注 已关注

最近一次登录:2023-10-30 12:48:05   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图