Назначьте 1 ГБ каждому исполнителю в Spark - PullRequest
0 голосов
/ 31 мая 2018

У меня есть следующий код: -

 val conf = new SparkConf()
  .setAppName("Data")
  .set("spark.cassandra.connection.host", "192.168.0.40,192.168.0.106,192.168.0.113")
  .set("spark.cassandra.connection.keep_alive_ms", "20000")
  .set("spark.executor.memory", "1g")
  .set("spark.driver.memory", "2g")
  .set("spark.submit.deployMode", "cluster")
  .set("spark.executor.instances", "10")
  .set("spark.executor.cores", "1")
  .set("spark.cores.max", "10")
  .set("spark.driver.cores", "3")

У меня есть 4 узла кластера с 3 ядрами в каждом.Попытка выполнить задание для запуска на 9 исполнителе в кластере с 1 ГБ ОЗУ каждый, как указано в spark.executor.memory. Когда я проверяю пользовательский интерфейс spark, он показывает, что на каждом узле занято 1 ГБ, но

enter image description here

На снимке экрана показано, что у меня есть 10 ядер, и каждому ядру назначено 1 ГБ, но ниже видно, что для каждого узла назначено 1 ГБ.Но когда я запускаю свое приложение, каждый исполнитель показывает 336 МБ, как мы можем видеть на следующем рисунке: -

enter image description here

Нужно понять, как это работаети если он потребляет 3 ГБ на каждом узле, то почему для каждого исполнителя выделено всего 336 МБ?

Спасибо,

...