Невозможно подключиться к базе данных SQL Azure в кластере Spark YARN, используя Java с помощью библиотеки azure-activedirectory-library-for-java - PullRequest
0 голосов
/ 06 октября 2018

В одном из наших проектов мы используем Azure SQL DB, режим аутентификации основан на маркере доступа.Мы используем Spark Java для подключения.Мы можем подключиться к БД, когда запускаем искровое задание как автономное, но когда мы работаем в режиме YARN, мы не можем подключиться.Мы используем библиотеку «azure-activedirectory-library-for-java»

Мы получаем сообщение об ошибке: Ошибка входа пользователя: ''.ClientConnectionId:

Исключение: INFO Клиент: маркер клиента: Н / Д Диагностика: Исключение класса пользователя: com.microsoft.sqlserver.jdbc.SQLServerException: Ошибка входа для пользователя ''.ClientConnectionId: 2b288e9e-15cc-448a-8210-0d184d27a12b Хост ApplicationMaster: 172.25.3.7 RPC-порт ApplicationMaster: 0 очередь: время начала по умолчанию: 1538583454649 окончательный статус: URL-адрес отслеживания СБОЙ:

Ссылки:

https://github.com/Azure/azure-sqldb-spark

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-spark-connector

Заранее спасибо.

Спасибо и С уважением,

-Venkat

Ниже приведено исключениеstacktrace:

18/10/08 10:07:16 WARN SparkSession $ Builder: использование существующего SparkSession;некоторые настройки могут не вступить в силу.18/10/08 10:07:16 ОШИБКА ApplicationMaster: Исключение класса пользователя: com.microsoft.sqlserver.jdbc.SQLServerException: сбой входа для пользователя ''.ClientConnectionId: 8ecbc2ae-cede-4b1d-8eba-f362010f71e6 com.microsoft.sqlserver.jdbc.SQLServerException: сбой входа для пользователя ''.ClientConnectionId: 8ecbc2ae-cede-4b1d-8eba-f362010f71e6 по адресу com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError (SQLServerException.java:217) по адресу com.microsoft.sqlserver.joken.server.STD.TFcom.microsoft.sqlserver.jdbc.TDSParser.parse (tdsparser.java:81) в com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon (SQLServerConnection.java:3077) в com.microsoft.sqlserver.jdbc.SQLerver (SQLServerConnection.java:2360) по адресу com.microsoft.sqlserver.jdbc.SQLServerConnection.access $ 100 (SQLServerConnection.java:43) по адресу com.microsoft.sqlserver.jdbc.SQLServerConnection $ LogonCommand.doExecute (SQLSerava.Connect2).microsoft.sqlserver.jdbc.TDSCommand.execute (IOBuffer.java:6276) по адресу com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand (SQLServerConnection.java:1793) по адресу com.microsoft.sqlserver.jdb2Java: 1404) на com.microsoft.sqlserver.jdbc.SQLServerConnection.logв (SQLServerConnection.java:1068) по адресу com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal (SQLServerConnection.java:904) по адресу com.microsoft.sqlserver.jdbc.SQLServerConnection.connect (SQLServerConnection.j.m.m1).sqlserver.jdbc.SQLServerDriver.connect (SQLServerDriver.java:1014) в org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils $$ anonfun $ createConnectionFactory $ 1.apply (Jdbcachegtils)..spark.sql.execution.datasources.jdbc.JdbcUtils $$ anonfun $ createConnectionFactory $ 1.apply (JdbcUtils.scala: 52) в org.apache.spark.sql.execution.datasources.jdbc.JDBCRDD $ (.scol.Ru: 58) в org.apache.spark.sql.execution.datasources.jdbc.JDBCRelation. (JDBCRelation.scala: 114) в org.apache.spark.sql.execution.datasources.jdbc.JdbcRelationProvider.createRelation (JdbcRelation52) в org.apache.spark.sql.execution.datasources.DataSource.resolveRelation (DataSource.scala: 309) в org.apache.spark.sql.DataFrameReader.load (DataFrameReader.scala: 178) на org.apache.spark.sql.DataFrameReader.load (DataFrameReader.scala: 146) на org.apache.spark.sql.DataFrameReader.jdbc (DataFrameReader.scala: 193) на com.microsoft.azure.sqldb.spark.connect.DataFrameReaderFunctions.sqlDB (DataFrameReaderFunctions.scala: 44) в com.sew.data.SQLDBConnectionEngine $ .main (SQLDBConnectionEngine.scala: 71) в com.sew.data.SQLDBConnectionEngine.main (SQLDBConnectionEngine.scala) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodlDelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke (Method.java:498) в org.apache.spark.deploy.yarn.ApplicationMaster $$ anon $ 3.run (ApplicationMaster.scala: 646) 18 /10/08 10:07:16 INFO ApplicationMaster: окончательный статус приложения: FAILED, exitCode: 15, (причина: исключение класса пользователя: com.microsoft.sqlserver.jdbc.SQLServerException: сбой входа для пользователя ''. ClientConnectionId: 8ecbc2ae-cede-4b1d-8eba-f362010f71e6) 18/10/08 10:07:16 INFO SparkContext: вызов остановки () из ловушки отключения 18/10/08 10:07:16 INFO AbstractConnector: Stopped Spark@683861d4ndomHTTP/1.1,[HTTP / 1.1]} {0.0.0.0:0}

1 Ответ

0 голосов
/ 11 октября 2018

Проблема в Login failed for user ''., и я не вижу имени пользователя, которое пытается использовать логин?

18/10/08 10:07:16 ОШИБКА ApplicationMaster: исключение исключения класса пользователя:com.microsoft.sqlserver.jdbc.SQLServerException: Ошибка входа пользователя ''. ClientConnectionId: 8ecbc2ae-cede-4b1d-8eba-f362010f71e6 com.microsoft.sqlserver.jdbc.SQLServerException: Ошибка входаuser ''. ClientConnectionId: 8ecbc2ae-cede-4b1d-8eba-f362010f71e6 на com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError

К какому пользователю вы пытаетесь подключиться?Добавлен ли этот идентификатор как «пользователь автономной базы данных» в соответствии с инструкциями по созданию Azure Active Directory:

Создайте и заполните Azure AD

Если вышеуказанный наборшаги были выполнены правильно, затем вы переходите к:

Подключение с использованием токена доступа

Требование настройки

Если выПри использовании режима аутентификации на основе маркеров доступа необходимо загрузить azure-activedirectory-library-for-java и его зависимости и включить их в путь сборки Java.

См. Используйте проверку подлинности Azure Active Directory для проверки подлинности с помощью базы данных SQL , чтобы узнать, как получить токен доступа к базе данных SQL Azure.

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