Обе машины Spark Master показывают статус STANDBY после настройки HA.

Мы пытаемся настроить Spark HA с помощью ZK. У нас есть 2 машины для Master для процесса Spark и еще 3 для Spark Slaves. Конфигурация в Master Machine для spark HA выполняется, как показано ниже в spark-env.sh:

# - SPARK_DAEMON_JAVA_OPTS, to set config properties for all daemons (e.g. "-Dx=y")

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=DEV-SMP-Manager01:2181DEV-SMP-Worker01:2181,DEV-SMP-Worker05:2181"

где DEV-SMP-Manager01:2181DEV-SMP-Worker01:2181,DEV-SMP-Worker05:2181 — это кворум ZK. и они в рабочем состоянии. Добавлены кураторские банки в конфигурационный файл искры, упомянутый ниже. Когда мы запускаем мастера с помощью команды sbin/start-master.sh ,

оба они идут как «STANDBY», в журналах искры нет ошибок. здесь мы застряли, есть идеи, что пойдет не так, как показано ниже:

экспорт SPARK_DIST_CLASSPATH=$(/home/hduser/smp/hadoop-2.5.1/bin/hadoop classpath) экспорт SPARK_DIST_CLASSPATH=$SPARK_DIST_CLASSPATH:/home/hduser/smp/spark-1.6.1-bin-без-hadoop/куратор клиент-2.0.0-incubating.jar:/home/hduser/smp/spark-1.6.1-bin-без-hadoop/curator-framework-2.2.0-incubating.jar

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=DEV-SMP-Manager01:2181DEV-SMP-Worker01:2181,DEV-SMP-Worker05:2181", когда я вижу машину:8080 для В обоих веб-интерфейсах мы видим статус = STANDBY для мастера, а также ни в одном из них не отображаются рабочие процессы. Хотя все рабочие работают. Любая подсказка будет полезна. В идеале один мастер должен быть в режиме реального времени, отображая всех рабочих, но здесь оба мастера находятся в режиме ожидания, и ни для одного мастера не отображаются рабочие?

Используемая версия:- Спарк-искра-1.6.1 ЗК-3.4.6


person Suman Banerjee    schedule 07.09.2016    source источник
comment
Копируется ли одна и та же конфигурация на оба узла, на которых вы используете master? Кроме того, пробовали ли вы сначала запускать только мастера на обоих узлах, а затем запускать рабочие процессы на активном главном узле. Прикрепите снимки обоих основных интерфейсов.   -  person Rakesh Rakshit    schedule 07.09.2016
comment
Также проверьте, доступны ли эти узлы с обоих мастеров — DEV-SMP-Manager01:2181DEV-SMP-Worker01:2181,DEV-SMP-Worker05:2181.   -  person Rakesh Rakshit    schedule 07.09.2016


Ответы (1)


После некоторого времени непрерывной работы мы увидели, что пара изменений решила полную проблему, и теперь оба мастера работают нормально, один будет активен, а другой должен быть в режиме ожидания, а после аварийного переключения резерв должен быть активен, и все рабочие подпадают под это.

Изменения в файле spark-env.sh

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=DEV-SMP-Manager01:2181,DEV-SMP-Worker01:2181,DEV-SMP-Worker05:2181 -Dspark.deploy.zookeeper.dir=/sparkha"

где Dspark.deploy.zookeeper.dir хранит HA искры в хранилище данных ZK, по умолчанию это будет /spark в ZK, но мы хотели, чтобы его можно было настраивать.

А во-вторых, баночки для куратора, необходимые для избрания ZK Leader для Spark. Итак, мы добавили e env veritable и добавили его в SPARK_DIST_CLASSPATH как явный путь к бинарному файлу «hadoop», который уже был там, мы просто добавили нашу вновь созданную env.

Затем кворум должен быть правильно настроен без каких-либо "", как указано выше url=a1:2181,a2:2181

после этого запускал по одному master а потом слейвы по start-slaves.sh потом все становится на свои места. Спасибо всем, кто изучил этот вопрос. Надеюсь, что это произойдет с некоторыми другими. Теперь мы можем помочь другим в настройке HA.

person Suman Banerjee    schedule 07.09.2016