Изменение JDK в кластере, развернутом с помощью./spark-ec2

Я развернул кластер Amazon EC2 со Spark следующим образом:

~/spark-ec2 -k spark -i ~/.ssh/spark.pem -s 2 --region=eu-west-1 --spark-version=1.3.1 launch spark-cluster

Я копирую файл, который мне нужен, сначала в мастер, а затем из мастера в HDFS, используя:

ephemeral-hdfs/bin/hadoop fs -put ~/ANTICOR_2_10000.txt ~/user/root/ANTICOR_2_10000.txt

У меня есть jar, который я хочу запустить, который был скомпилирован с JDK 8 (я использую много функций Java 8), поэтому я копирую его с scp и запустить его с:

spark/bin/spark-submit --master spark://public_dns_with_port --class package.name.to.Main job.jar -f hdfs://public_dns:~/ANTICOR_2_10000.txt

Проблема в том, что spark-ec2 загружает кластер с JDK7, поэтому я получаю Unsupported major.minor version 52.0

У меня вопрос, где мне нужно сменить JDK7 на JDK8?

Шаги, которые я делаю до сих пор на мастере:

  • Установите JDK8 с помощью yum
  • использование sudo alternatives --config java и измените предпочтительную Java на Java-8
  • export JAVA_HOME=/usr/lib/jvm/openjdk-8

Должен ли я сделать это для всех узлов? Также мне нужно изменить путь Java, который использует hadoop в ephemeral-hdfs/conf/hadoop-env.sh или есть другие места, которые я пропустил?

2 ответа

К сожалению, Amazon пока не предлагает готовых установок Java 8: посмотрите доступные версии.

Вы видели этот пост о том, как установить его на работающие экземпляры?

Вот что я делал для всех установок Java, которые отличаются от версий, предоставляемых установками по умолчанию:

  1. Сконфигурируйте переменную среды JAVA_HOME на каждом компьютере / узле: -

    export JAVA_HOME = / home / ec2-user / softwares / jdk1.7.0_25

  2. Измените путь по умолчанию и поместите каталог "java/bin" перед остальной частью пути на все узлы / машины.

    экспорт PATH=/home/ec2-user/softwares/jdk1.7.0_25/bin/:$M2:$SCALA_HOME/bin/:$HIVE_HOME/bin/:$PATH:

И вышеупомянутое должно быть сделано с тем же "пользователем ОС", который используется, чтобы выполнить / владеть процессом master master / worker.

Другие вопросы по тегам