Spark ошибка авторизации

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

1. Убедитесь, что вы используете IMAP:

Предварительно в настройках вашего почтового ящика включите работу протокола IMAP и выберите способ авторизации:

  1. Откройте раздел «Почтовые программы» в настройках Яндекс.Почты.
  2. Разрешите доступ к почтовому ящику с помощью почтовых клиентов с сервера imap.yandex.ru по протоколу IMAP, нажав на соответствующий флажок.
  3. Выберите способ авторизации:
  • Портальный пароль — ваш пароль на Яндексе (использование возможно, если не включена двухфакторная аутентификация);
  • Пароль приложения — надежный пароль, который вы создаете специально для входа в Spark. При включенной двухфакторной аутентификации пароли приложений обязательны, и отключить их нельзя.

2. Убедитесь, что вы используете правильные данные для входа:

  • Если у вас не включена двухфакторная аутентификация, вы не использовали пароль приложения, и выбрали «Портальный пароль», используйте свой обычный пароль для входа в Spark.
  • Если у вас включена двухфакторная аутентификация или вы выбрали «Пароли приложений и QAuth-токены» как способ авторизации, создайте специальный пароль для Spark и вставьте его в необходимое поле для входа в Spark:
  1. Откройте страницу Управление аккаунтом.
  2. В разделе Пароли и авторизация выберите Включить пароли приложений. Подтвердите действие и нажмите Создать новый пароль.
  3. Если вы включили двухфакторную аутентификацию, просто нажмите Создать пароль приложения.
  4. Выберите тип приложения Почта.
  5. Придумайте название пароля, например, «Спарк». С этим названием пароль будет отображаться в списке.
  6. Нажмите кнопку Создать. Пароль приложения отобразится во всплывающем окне.
  7. Нажмите Скопировать и используйте этот пароль для входа в Spark.

Обратите внимание: Созданный пароль можно увидеть только один раз. Если вы ввели его неправильно во время входа в Спарк и закрыли окно с созданным паролем приложения, удалите текущий пароль и создайте новый.

3. Множественные попытки входа

Если вы пытались добавить учетную запись Яндекса в Spark несколько раз, сервер этой учетной записи мог заблокировать соединение. В этом случае, чтобы разрешить добавление учетной записи в Spark, перейдите по этой ссылке и введите символы, которые вы увидите.

4. Если шаги выше не помогли

  • Если у вас включена двухфакторная аутентификация или вы выбрали «Пароли приложений и QAuth-токены»  как способ авторизации, убедитесь, что ваш Пароль приложения не был сброшен. Случаи, в которых сбрасываются все пароли приложений, описаны в этой статье.
  • Пожалуйста, проверьте сетевое соединение на вашем устройстве. Если вы используете VPN, мы не можем гарантировать, что Spark будет работать должным образом, ведь качество работы через VPN зависит исключительно от серверов сети VPN. 
  • Если есть такая возможность, попробуйте подключиться к другой сети. 
  • Если у вас уже есть добавленные в Spark аккаунты, убедитесь, что во время добавления Яндекс аккаунта вы выбираете Настроить вручную.
  • Если учетная запись электронной почты, которую вы не можете подключить к Spark, является первой учетной записью, которую вы пытаетесь добавить, сначала добавьте любую другую учетную запись электронной почты в Spark. Затем попробуйте добавить Яндекс аккаунт в Spark. Если к Яндексу все равно не удается подключиться, обратитесь в нашу службу поддержки, как описано ниже — мы будем рады помочь вам лично. 
  1. Запустите Spark и нажмите « Справка» в левом верхнем углу экрана. Выберите Отправить отзыв .
  2. В строке Тема: напишите «Подключение Яндекс аккаунта». Нам нужна эта тема письма, чтобы мы могли быстро и лично ответить.
  3. В своем сообщении укажите адрес электронной почты, который вы пытаетесь добавить, и приложите снимок экрана с сообщением об ошибке, которое появляется при попытке добавить учетную запись.
  4. Отправьте электронное письмо, и наша служба поддержки свяжется с вами, чтобы решить проблему.
  1. Откройте Спарк и коснитесь значка меню  вверху слева.
  2. Откройте « Настройки»> «Служба Поддержки»> «Диагностика»> «Отправить диагностические данные».
  3.  В строке Тема: вашего письма дополнительно напишите «Подключение Яндекс аккаунта». Нам нужна эта тема письма, чтобы мы могли быстро и лично ответить.
  4. В своем сообщении укажите адрес электронной почты, который вы пытаетесь добавить, и приложите снимок экрана с сообщением об ошибке, которое появляется при попытке добавить учетную запись.
  5. Отправьте электронное письмо, и наша служба поддержки свяжется с вами, чтобы решить проблему.
  1. Коснитесь значка меню  вверху слева.
  2. Откройте « Настройки»> «Служба Поддержки»> «Диагностика»> «Отправить диагностические данные».
  3. В строке Тема:  вашего письма дополнительно напишите «Подключение Яндекс аккаунта». Эта тема письма нужна нам, чтобы вы могли быстро и лично ответить.
  4. В своем сообщении укажите адрес электронной почты, который вы пытаетесь добавить, и приложите снимок экрана с сообщением об ошибке, которое появляется при попытке добавить учетную запись.
  5. Отправьте электронное письмо, и наша служба поддержки свяжется с вами, чтобы решить проблему.

Read next:

If you’d like to get individual help from our Customer Support team, follow the steps on the Contact Us page.

We’d appreciate your feedback to help us improve the article:

Thank you️! Tell us more about your experience with Spark Help Center:

I’m trying to connect to my local MongoDB from Spark.
I’ve read few topics about it, but none of them works. What is wrong with my setup ?

  val spark = SparkSession.builder()
    .master("local")
    .appName("MongoSparkConnectorIntro")
    .config("spark.mongodb.input.uri", "mongodb://user:pass@localhost:27017/dbName.collectionName")
    .getOrCreate()

  it should "connect" in {
    val rdd = MongoSpark.load(spark)
    println(rdd.count())
  }

Auth setup :

mongo dbName --eval "db.createUser({ user: 'user', pwd: 'pass', roles: [ { role: '-dbOwner', db: 'dbName' } ] });"

Error :

14:13:04.538 [ScalaTest-run-running-MongoConnector] DEBUG org.mongodb.driver.cluster - Updating cluster description to  {type=UNKNOWN, servers=[{address=127.0.0.1:27017, type=UNKNOWN, state=CONNECTING}]
14:13:04.540 [ScalaTest-run-running-MongoConnector] INFO  org.mongodb.driver.cluster - Cluster description not yet available. Waiting for 30000 ms before timing out
14:13:04.563 [cluster-ClusterId{value='59f5d3e0ee179e015809a115', description='null'}-127.0.0.1:27017] DEBUG org.mongodb.driver.connection - Closing connection connectionId{localValue:1}
14:13:04.564 [cluster-ClusterId{value='59f5d3e0ee179e015809a115', description='null'}-127.0.0.1:27017] INFO  org.mongodb.driver.cluster - Exception in monitor thread while connecting to server 127.0.0.1:27017
com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=null, userName='user', source='dbName', password=<hidden>, mechanismProperties={}}
(...)
Caused by: com.mongodb.MongoCommandException: Command failed with error 18: 'Authentication failed.' on server 127.0.0.1:27017. The full response is { "ok" : 0.0, "errmsg" : "Authentication failed.", "code" : 18, "codeName" : "AuthenticationFailed" }
    at com.mongodb.connection.CommandHelper.createCommandFailureException(CommandHelper.java:170)
    at com.mongodb.connection.CommandHelper.receiveCommandResult(CommandHelper.java:123)
    at com.mongodb.connection.CommandHelper.executeCommand(CommandHelper.java:32)
    at com.mongodb.connection.SaslAuthenticator.sendSaslStart(SaslAuthenticator.java:117)
14:17:28.944 [cluster-ClusterId{value='59f5d4e8ee179e027923cfdf', description='null'}-127.0.0.1:27017] DEBUG org.mongodb.driver.cluster - Updating cluster description to  {type=UNKNOWN, servers=[{address=127.0.0.1:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=null, userName='user', source='dbName', password=<hidden>, mechanismProperties={}}}, caused by {com.mongodb.MongoCommandException: Command failed with error 18: 'Authentication failed.' on server 127.0.0.1:27017. The full response is { "ok" : 0.0, "errmsg" : "Authentication failed.", "code" : 18, "codeName" : "AuthenticationFailed" }}}]
14:17:29.451 [cluster-ClusterId{value='59f5d4e8ee179e027923cfdf', description='null'}-127.0.0.1:27017] DEBUG org.mongodb.driver.connection - Closing connection connectionId{localValue:2}

Versions:
1. Spark 2.2.0
2. Mongo 3.4
3. Mongo-spark-connector_2.11, version: 2.2.0
4. Scala 2.11.8

EDIT:
I;ve tried to add to

.config("spark.mongodb.input.uri", "mongodb://user:pass@localhost:27017/dbName.collectionName")

flags:

  • ?authSource=admin
  • ?authSource=dbOwner
  • ?authSource=dbName
  • ?authenticationDatabase=dbName

but none of them works

February 3 2017, 07:12

Обновил тут Openfire на последнюю версию ( Openfire 4.1.1)  (об установке Openfire на Ubuntu  ) и при подключении некоторых клиентов у которых был установлен spark 2.8.* начали вылетать следующие ошибки:

Certificate hostname verification failed

или ошибка

Unable to verify certificate

unable to verify certificate

Данную ошибку можно решить следующим образом:

  1. зайдем в настройки — «Дополнительно«
  2. поставим галочку — «Accept allcertificates (selfsigned/expired/not trusted
  3. и еще галочку — Disable certificate hostname verification (not recommended
  4. Далее нажимаем Применить и входим в Spark
  5. Все )

spark certificate error

http://www.nibbl.ru/operation_system/unix/linux/spark-pri-podklyuchenii-k-serveru-openfire-oshibka-podklyucheniya/

Я пытаюсь подключиться к своей локальной базе данных MongoDB из Spark.
Я прочитал несколько тем об этом, но ни одна из них не работает. Что не так с моей настройкой?

  val spark = SparkSession.builder()
    .master("local")
    .appName("MongoSparkConnectorIntro")
    .config("spark.mongodb.input.uri", "mongodb://user:pass@localhost:27017/dbName.collectionName")
    .getOrCreate()

  it should "connect" in {
    val rdd = MongoSpark.load(spark)
    println(rdd.count())
  }

Настройка аутентификации:

mongo dbName --eval "db.createUser({ user: 'user', pwd: 'pass', roles: [ { role: '-dbOwner', db: 'dbName' } ] });"

Ошибка:

14:13:04.538 [ScalaTest-run-running-MongoConnector] DEBUG org.mongodb.driver.cluster - Updating cluster description to  {type=UNKNOWN, servers=[{address=127.0.0.1:27017, type=UNKNOWN, state=CONNECTING}]
14:13:04.540 [ScalaTest-run-running-MongoConnector] INFO  org.mongodb.driver.cluster - Cluster description not yet available. Waiting for 30000 ms before timing out
14:13:04.563 [cluster-ClusterId{value='59f5d3e0ee179e015809a115', description='null'}-127.0.0.1:27017] DEBUG org.mongodb.driver.connection - Closing connection connectionId{localValue:1}
14:13:04.564 [cluster-ClusterId{value='59f5d3e0ee179e015809a115', description='null'}-127.0.0.1:27017] INFO  org.mongodb.driver.cluster - Exception in monitor thread while connecting to server 127.0.0.1:27017
com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=null, userName='user', source='dbName', password=<hidden>, mechanismProperties={}}
(...)
Caused by: com.mongodb.MongoCommandException: Command failed with error 18: 'Authentication failed.' on server 127.0.0.1:27017. The full response is { "ok" : 0.0, "errmsg" : "Authentication failed.", "code" : 18, "codeName" : "AuthenticationFailed" }
    at com.mongodb.connection.CommandHelper.createCommandFailureException(CommandHelper.java:170)
    at com.mongodb.connection.CommandHelper.receiveCommandResult(CommandHelper.java:123)
    at com.mongodb.connection.CommandHelper.executeCommand(CommandHelper.java:32)
    at com.mongodb.connection.SaslAuthenticator.sendSaslStart(SaslAuthenticator.java:117)
14:17:28.944 [cluster-ClusterId{value='59f5d4e8ee179e027923cfdf', description='null'}-127.0.0.1:27017] DEBUG org.mongodb.driver.cluster - Updating cluster description to  {type=UNKNOWN, servers=[{address=127.0.0.1:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSecurityException: Exception authenticating MongoCredential{mechanism=null, userName='user', source='dbName', password=<hidden>, mechanismProperties={}}}, caused by {com.mongodb.MongoCommandException: Command failed with error 18: 'Authentication failed.' on server 127.0.0.1:27017. The full response is { "ok" : 0.0, "errmsg" : "Authentication failed.", "code" : 18, "codeName" : "AuthenticationFailed" }}}]
14:17:29.451 [cluster-ClusterId{value='59f5d4e8ee179e027923cfdf', description='null'}-127.0.0.1:27017] DEBUG org.mongodb.driver.connection - Closing connection connectionId{localValue:2}

Версии:
1. Искра 2.2.0
2. Монго 3.4
3. Mongo-spark-connector_2.11, версия: 2.2.0
4. Скала 2.11.8

ИЗМЕНИТЬ:
Я пытался добавить к

.config("spark.mongodb.input.uri", "mongodb://user:pass@localhost:27017/dbName.collectionName")

Флаги :

  • ?authSource=админ
  • ?authSource=dbOwner
  • ?authSource=имя_БД
  • ?authenticationDatabase=dbName

Но ни один из них не работает

1 ответ

У меня была та же проблема, и через некоторое время эта настройка заработала с authSource.

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

В моей настройке у меня есть пользователь admin в базе данных admin и пользовательский пользователь в пользовательской базе данных, из которой я хочу читать. Единственное разрешение, которое есть у этого пользовательского пользователя, — dbOwner. Команда, которую я использую в искре:

df = sqlContext.read
  .format("com.mongodb.spark.sql")
  .options(uri="mongodb://CUSTOM_USERNAME:PASSWORD@ip.address:27017/?authSource=CUSTOM_DB_NAME", database="CUSTOM_DB_NAME", collection="COLLECTION_NAME")
  .load()

И это работает идеально для меня. Некоторые вещи, которые следует отметить:

  • Значение по умолчанию для authSource — admin, поэтому, если вы вообще не можете подключиться, сделайте пользователя-администратора в базе данных admin с разрешениями {role:'root',db:'admin'}. Тогда конфигурация по умолчанию должна быть достаточно хорошей.
  • Обратите внимание, что перед вопросительным знаком в URI стоит косая черта, иначе URI недействителен.
  • Моя версия соединителя монго 2.4.0 — возможно, это было сломано раньше.

Удачи тебе!

Больше документов:

  • https://jira.mongodb.org/browse/SPARK-48
  • https://docs.mongodb.com/manual/reference/connection-string/#urioption.authSource


2

vlyubin
23 Янв 2019 в 14:28

Ignite Realtime Community Forums

Loading

Ignite Realtime

powered by Jive Software

  1. Home
  2. Projects
  3. Downloads
  4. Community
  5. Fans
  6. Support
  7. About

Имя / Логин*


Пожалуйста, введите ваше имя.

E-Mail*


Пожалуйста, введите ваш E-Mail.

В чём заключается ваш вопрос?*

до 300 символов.

Детали проблемы. Пожалуйста, будьте максимально конкретны.*
Запрещается указывать ссылки на сторонние ресурсы.


Спросить анонимно


Добавьте видео, чтобы лучше описать проблему.

Тип видео



Выберите из выпадающего списка.

Видео ID


Добавьте сюда идентификатор видео: https://www.youtube.com/watch?v=sdUUx5FdySs (Пример: ‘sdUUx5FdySs’).


Задавая вопрос, вы соглашаетесь с правилами сайта и политикой конфиденциальности .*

Проверочное поле*
Проверочное поле
Нажмите на изображение, чтобы обновить.

#scala #apache-spark #hadoop #cloudera

#scala #apache-spark #hadoop #cloudera

Вопрос:

Мы пытаемся перейти от использования spark-submit к программному решению с использованием SparkLauncher (Spark 2.4 работает на Cloudera Hadoop) и столкнулись с этой проблемой:

 Exception javax.security.auth.login.LoginException: Cannot locate KDC 
 

в потоке вывода ошибок процесса задания после вызова startApplication().

Программа запуска настроена с теми же настройками, что и spark-submit, включая настройки «spark.kerberos.principal» и «spark.kerberos.keytab» (также пробовал использовать префикс spark.yarn, а также устанавливать —principle и —keytab с помощью setSparkArg(), но проблема не в этих свойствах).

Несмотря на то, что krb5.conf находится в расположении по умолчанию на всех компьютерах и в драйвере, я попытался установить

 .setConf("spark.executor.extraJavaOptions", "-Djava.security.krb5.conf=/etc/krb5.conf")
.setConf("spark.driver.extraJavaOptions", "-Djava.security.krb5.conf=/etc/krb5.conf")
 

также, с тем же результатом.

При вызове spark-submit нет других параметров conf, связанных с auth / kerberos (установлены только основные и keytab), а все остальные настройки conf реплицируются на панели запуска.

Вывод SparkLauncher подтверждает, что все свойства Spark установлены как ожидалось.

«Не удается найти KDC» указывает, что файл krb5.conf не найден, но как это может быть, если он находится в расположении по умолчанию, и spark-submit, очевидно, находит его?

Комментарии:

1. «Не удается найти KDC» может не означать, что krb5.conf отсутствует, но может быть проблемой конфигурации с krb5.conf. Вы можете проверить, имеют ли krb5.conf одинаковые конфигурации на всех компьютерах. Если да, вы можете попробовать выполнить ручную аутентификацию с помощью keytab на любом компьютере kinit <principal_name> -kt <path_to_keytab_file> и посмотреть, как это происходит.

2. Трассировки отладки -Djava.security.debug=gssloginconfig,configfile,configparser,logincontext могут точно объяснить, что происходит, когда JAAS пытается подключиться к KDC.

3. Попробуйте также -Dsun.security.krb5.debug=true , если вы не боитесь огромного количества загадочных вещей.

4. @SyamSankar Я знаю, что krb5.confs хороши, потому что работает spark-submit, запускаемый с помощью k5start (аналогично kinit).

5. Для ясности, поскольку те же настройки и тот же krb5 работают с spark-submit, это почти должно сводиться к некоторой разнице между ним и SparkLauncher.

Ответ №1:

Эта ошибка не обязательно означает, что она не может найти ваш файл krb5.conf. Это также может возникнуть, когда ваш файл krb5.conf не содержит правильных спецификаций домена или области для вашего участника.

Например, если ваш принципал my_principal@MY.NEW.REALM.COM указан только в файле krb5.conf my_principal@MY.OLD.REALM.COM , вы также получите эту ошибку.

Кроме того, если ваш файл krb5.conf находится в местоположении, отличном от default ( /etc/krb5.conf ) , у меня возникли проблемы с настройкой javaExtraOpts. Я обнаружил, что указание на обновление переменной env перед запуском помогло: export SPARK_SUBMIT_OPTS="-Djava.security.krb5.conf=/path/to/krb5-new.conf"

Наконец, я обнаружил, что установка аргументов —principle и —keytab в spark-submit на самом деле вызвала проблемы, и их устранение может помочь.

Понравилась статья? Поделить с друзьями:
  • Spaces ошибка 504
  • Spaceport sys ошибка
  • Spacedesk ошибка подключения
  • Spacedesk ошибка 2503
  • Spacedesk код ошибки 2 5