Отказано в соединении при подключении от polybase к hadoop
При попытке создать внешнюю таблицу из sql server 2017 в Hadoop в Ubuntu 16.04 выдает следующую ошибку
Сообщение 105019, уровень 16, состояние 1, строка 1 Не удалось получить доступ к ВНЕШНЕМУ СТОЛУ из-за внутренней ошибки: "Возникла исключительная ситуация Java при вызове HdfsBridge_IsDirExist. Сообщение об исключительной ситуации Java: вызов от DESKTOP-VE8KNAG/xxx.xxx.x.xxx к xxx.xxx.xx: сбой 54310 при исключении подключения: java.net.ConnectException: соединение отклонено: дополнительная информация отсутствует; Для получения дополнительной информации см.: http://wiki.apache.org/hadoop/ConnectionRefused: Ошибка [Вызов из DESKTOP-VE8KNAG/1xxx.xxx.x.xxx в xxx.xxx.xx: сбой 54310 при исключении соединения: java.net.ConnectException: в соединении отказано: дополнительная информация отсутствует; Для получения дополнительной информации см.: http://wiki.apache.org/hadoop/ConnectionRefused] при доступе к внешнему файлу.'
- Расположение внешнего источника выбирается из core-site.xml
- Папка Tmp создана и добавлено разрешение пользователю и добавлено в core-site.xml
- Все узлы работают в Hadoop 10625 DataNode 10869 SecondaryNameNode 17113 ResourceManager 17434 NodeManager 10490 NameNode 21566 Jps
SQL-запрос
create EXTERNAL DATA SOURCE [HDP2]
WITH (TYPE = HADOOP,
LOCATION = N'hdfs://xxx.xxx.x.x:54310',
CREDENTIAL = [HDPUser])
GO
create EXTERNAL TABLE [dbo].CLASS_DIM_EXP (
[CLASS_ID] [varchar](8) NOT NULL,
[CLASS_DESC] [varchar](100) NULL,
[INSERT_DATE] [datetime2](7) NOT NULL,
[LAST_UPDATE_DATETIME] [datetime2](7) NOT NULL)
WITH (LOCATION='/user/pdw_user',
DATA_SOURCE = HDP2,
FILE_FORMAT = TSV,
REJECT_TYPE = VALUE,
REJECT_VALUE = 0);
Core-site.xml
<property>
<name>hadoop.tmp.dir</name>
<value>/app/hadoop/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:54310</value>
<description>The name of the default file system. A URI whose
scheme and authority determine the FileSystem implementation. The
uri's scheme determines the config property (fs.SCHEME.impl) naming
the FileSystem implementation class. The uri's authority is used to
determine the host, port, etc. for a filesystem.</description>
</property>
Это что-то нужно изменить?
1 ответ
Проблема здесь заключается в том, что файл cores-site.xml содержит hdfs://localhost:54310, необходимо заменить его на соответствующий IP-адрес hdfs://xxx.xxx.xx:54310.