Шифрование в конфигурации Spark (переменные среды) в Scala - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть приложение Spark, написанное на Scala, и я настраиваю Spark Configuration через приложение, и хотел реализовать шифрование для моих переменных среды Spark. Таким образом, содержимое должно быть зашифровано на уровне приложения, а также на панели инструментов Yarn (вкладка «Среда»)

Какие конкретные свойства или параметры необходимо настроить c для реализации этого подхода.

Пример как я передаю прямо сейчас -

 val conf = new SparkConf()
      .set("spark.master", "spark.master")
      .set("spark.yarn.tags", "spark.appname")
      .set("spark.driver.allowMultipleContexts", "true")
      .set("spark.cassandra.output.consistency.level", "ANY")
      .set("spark.cassandra.connection.host", "cassandra.hosts")
      .set("spark.cassandra.auth.username", "cassandra.username")
      .set("spark.cassandra.auth.password", "cassandra.password")
     .set("spark.cassandra.output.ignoreNulls", "true")
      .set("spark.cassandra.output.batch.grouping.key", "partition")
      .set("spark.cassandra.output.batch.size.rows", "1")
      .set("spark.cassandra.connection.connections_per_executor_max", "15")
      .set("spark.cassandra.output.concurrent.writes", "512")
      .set("spark.sql.shuffle.partitions", "sparkjob.shufflepartition")
      .set("spark.cassandra.concurrent.reads", "512")
      .set("spark.cassandra.output.batch.grouping.buffer.size", "1000")
      .set("spark.cassandra.connection.keep_alive_ms", "600000000")
      .set("spark.streaming.stopGracefullyOnShutdown", "true")
      .set("spark.stream.receiver.WriteAheadLog.enable", "true")
      .set("spark.ui.port ", "52748")
      .set("spark.mongodb.output.uri", "mongodb://" +
        "mongo.username" + ":" + "mongo.password" + "@" +
        "mongo.hosts" + "/" + "mongo.dbname" + "?authSource=" + "mongo.authdatasource")
      .setAppName("spark.appname".getConfigValue)

Ниже приведена панель инструментов Spark Yarn - вкладка «Окружение», в которой отображаются все учетные данные, имя хоста и другие важные переменные. Необходимо иметь Зашифрованное значение здесь.

Spark Yarn Dashboard - Environment Tab

...