Spark独立集群的身份验证

问题描述 投票:5回答:1

我有一个在远程服务器上运行的独立Spark集群,我是Spark的新手。似乎没有默认情况下保护集群主机(7077)端口的身份验证方案。任何人都可以简单地将自己的代码提交给集群,没有任何限制。

Spark documentation声明使用spark.authenticate.secret参数在独立部署模式下进行身份验证是可能的,但是并没有详细说明应该如何使用它。

是否可以使用某种共享密钥来阻止任何潜在的攻击者向集群提交任务?任何人都可以解释如何配置?

security hadoop authentication apache-spark pyspark
1个回答
5
投票

有2个部分可以支持身份验证:

  1. 在主人身上设置所有奴隶的秘密
  2. 将作业提交到群集时使用相同的秘密

master and slaves

在群集中的每个服务器上,将以下配置添加到conf/spark-defaults.conf

spark.authenticate.secret      SomeSecretKey

submitting jobs

当你初始化spark上下文时,你也应该为它添加相同的配置,即:

val conf = new SparkConf()
      .set("spark.authenticate.secret", "SomeSecretKey")
val sc = new SparkContext(conf)

或者如果您使用的是SparkSession:

val spark = SparkSession.builder()
    .conf("spark.authenticate.secret", "SomeSecretKey")
    .getOrCreate()
© www.soinside.com 2019 - 2024. All rights reserved.