Невозможно ограничить порт пользовательского интерфейса (spark.ui.port) задания Spark в режиме кластера пряжи - PullRequest
0 голосов
/ 10 октября 2019

Задание искры развернуто в режиме кластера пряжи. После установки spark.ui.port в sparkConf sparkConf.setProperty("spark.ui.port", "12345")
пользовательский интерфейс по-прежнему создается в произвольном порту.

*19/10/10 14:15:46 INFO Utils: Successfully started service 'SparkUI' on port 37303.

19/10/10 14:15:46 INFO SparkUI: Started SparkUI at http://10.65.170.98:37303*

Из журналов приложения spark свойство spark.ui.port имеет видпереопределяется, хотя я никогда не устанавливал свойство JVm '- Dspark.ui.port = 0' .

команда: LD_LIBRARY_PATH = "/ usr / hdp / 2.6.4.0-91/ hadoop / lib / native: $ LD_LIBRARY_PATH "{{JAVA_HOME}} / bin / java -server -XX: OnOutOfMemoryError = 'kill% p' -Xms4096m -Xmx4096m -Djava.io.tmpdir = {{PWD}} / tmp '-Dspark.blockManager.port = 9900 '' -Dspark.driver.port = 9904 '' -Dspark.port.maxRetries = 20 '' - Dspark.ui.port = 0 '

Заменяет ли ApplicationMaster порт на интерфейс искры?

Здесь-> https://github.com/apache/spark/blob/master/resource-managers/yarn/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala

Я вижу, что метод run () устанавливает системное свойство UI_PORT , будет ли это переопределять значениеустановить в sparkConf.

final def run(): Int = {
    try {
      val attemptID = if (isClusterMode) {
        // Set the web ui port to be ephemeral for yarn so we don't conflict with
        // other spark processes running on the same box
        System.setProperty(UI_PORT.key, "0")

        // Set the master and deploy mode property to match the requested mode.
        System.setProperty("spark.master", "yarn")

Требуется ограничить порты, используемые искровым заданием, поскольку не все порты могут быть открыты. Все остальные порты, используемые в искровом задании, могут быть настроены с соответствующим свойством, установленным в sparkConf.

Также см. https://github.com/cloudera/spark/blob/master/yarn/alpha/src/main/scala/org/apache/spark/deploy/yarn/ApplicationMaster.scala, где метод run () устанавливает spark.ui.port

def run() {
    // Setup the directories so things go to yarn approved directories rather
    // then user specified and /tmp.
    System.setProperty("spark.local.dir", getLocalDirs())

    // set the web ui port to be ephemeral for yarn so we don't conflict with
    // other spark processes running on the same box
    System.setProperty("spark.ui.port", "0")

Howограничить порт пользовательского интерфейса для работы с искрой, запущенной в режиме пряжи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...