Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server в
Управляемом экземпляре SQL Windows Azure
В этой статье содержатся сведения о различных параметрах конфигурации, которые влияют на возможность подключения PolyBase к Hadoop. Пошаговое руководство по использованию PolyBase с Hadoop см. в статье Настройка PolyBase для доступа к внешним данным в Hadoop.
Примечание.
Начиная с SQL Server 2022 (16.x), Hadoop больше не поддерживается в PolyBase.
Параметр Hadoop.RPC.Protection
Распространенный способ защиты обмена данными в кластере hadoop — изменение hadoop.rpc.protection конфигурации на "Конфиденциальность" или "Целостность". По умолчанию PolyBase предполагает, что задана конфигурация Authenticate (Проверка подлинности). Чтобы переопределить это значение по умолчанию, добавьте в файл следующее core-site.xml свойство. Изменение конфигурации позволит осуществлять безопасную передачу данных между узлами Hadoop и использовать TLS-подключение к SQL Server.
<!-- RPC Encryption information, PLEASE FILL THESE IN ACCORDING TO HADOOP CLUSTER CONFIG -->
<property>
<name>hadoop.rpc.protection</name>
<value></value>
</property>
Чтобы использовать "Конфиденциальность" или "Целостность" hadoop.rpc.protection, версия экземпляра SQL Server должна иметь по крайней мере SQL Server 2016 с пакетом обновления 1 (SP1), SQL Server 2016 с пакетом обновления 2 (SP2) или SQL Server 2017 CU3.
Пример XML-файла для кластера CDH 5.X
Yarn-site.xml с yarn.application.classpath и mapreduce.application.classpath конфигурацией.
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>yarn.resourcemanager.connect.max-wait.ms</name>
<value>40000</value>
</property>
<property>
<name>yarn.resourcemanager.connect.retry-interval.ms</name>
<value>30000</value>
</property>
<!-- Applications' Configuration-->
<property>
<description>CLASSPATH for YARN applications. A comma-separated list of CLASSPATH entries</description>
<!-- Please set this value to the correct yarn.application.classpath that matches your server side configuration -->
<!-- For example: $HADOOP_CONF_DIR,$HADOOP_COMMON_HOME/share/hadoop/common/*,$HADOOP_COMMON_HOME/share/hadoop/common/lib/*,$HADOOP_HDFS_HOME/share/hadoop/hdfs/*,$HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*,$HADOOP_YARN_HOME/share/hadoop/yarn/*,$HADOOP_YARN_HOME/share/hadoop/yarn/lib/* -->
<name>yarn.application.classpath</name>
<value>$HADOOP_CLIENT_CONF_DIR,$HADOOP_CONF_DIR,$HADOOP_COMMON_HOME/*,$HADOOP_COMMON_HOME/lib/*,$HADOOP_HDFS_HOME/*,$HADOOP_HDFS_HOME/lib/*,$HADOOP_YARN_HOME/*,$HADOOP_YARN_HOME/lib/,$HADOOP_MAPRED_HOME/*,$HADOOP_MAPRED_HOME/lib/*,$MR2_CLASSPATH*</value>
</property>
<!-- kerberos security information, PLEASE FILL THESE IN ACCORDING TO HADOOP CLUSTER CONFIG
<property>
<name>yarn.resourcemanager.principal</name>
<value></value>
</property>
-->
</configuration>
Если вы решите разбить два параметра конфигурации на mapred-site.xml и те yarn-site.xml, то файлы будут следующими:
Для yarn-site.xml:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>yarn.resourcemanager.connect.max-wait.ms</name>
<value>40000</value>
</property>
<property>
<name>yarn.resourcemanager.connect.retry-interval.ms</name>
<value>30000</value>
</property>
<!-- Applications' Configuration-->
<property>
<description>CLASSPATH for YARN applications. A comma-separated list of CLASSPATH entries</description>
<!-- Please set this value to the correct yarn.application.classpath that matches your server side configuration -->
<!-- For example: $HADOOP_CONF_DIR,$HADOOP_COMMON_HOME/share/hadoop/common/*,$HADOOP_COMMON_HOME/share/hadoop/common/lib/*,$HADOOP_HDFS_HOME/share/hadoop/hdfs/*,$HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*,$HADOOP_YARN_HOME/share/hadoop/yarn/*,$HADOOP_YARN_HOME/share/hadoop/yarn/lib/* -->
<name>yarn.application.classpath</name>
<value>$HADOOP_CLIENT_CONF_DIR,$HADOOP_CONF_DIR,$HADOOP_COMMON_HOME/*,$HADOOP_COMMON_HOME/lib/*,$HADOOP_HDFS_HOME/*,$HADOOP_HDFS_HOME/lib/*,$HADOOP_YARN_HOME/*,$HADOOP_YARN_HOME/lib/*</value>
</property>
<!-- kerberos security information, PLEASE FILL THESE IN ACCORDING TO HADOOP CLUSTER CONFIG
<property>
<name>yarn.resourcemanager.principal</name>
<value></value>
</property>
-->
</configuration>
Для mapred-site.xml:
Обратите внимание на свойство mapreduce.application.classpath. В CDH 5.X значения конфигурации имеют тот же формат именования, что и в Ambari.
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration xmlns:xi="http://www.w3.org/2001/XInclude">
<property>
<name>mapred.min.split.size</name>
<value>1073741824</value>
</property>
<property>
<name>mapreduce.app-submission.cross-platform</name>
<value>true</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_MAPRED_HOME/*,$HADOOP_MAPRED_HOME/lib/*,$MR2_CLASSPATH</value>
</property>
<!--kerberos security information, PLEASE FILL THESE IN ACCORDING TO HADOOP CLUSTER CONFIG
<property>
<name>mapreduce.jobhistory.principal</name>
<value></value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value></value>
</property>
-->
</configuration>
Конфигурация Kerberos
Обратите внимание, что при проверке подлинности PolyBase в защищенном кластере Kerberos ожидается hadoop.rpc.protection , что параметр "Аутентификация" по умолчанию. При этом обмен данными между узлами Hadoop остается в незашифрованном виде. Чтобы использовать параметры hadoop.rpc.protectionконфиденциальности или целостности, обновите core-site.xml файл на сервере PolyBase. Дополнительные сведения см. в предыдущем разделе Подключение к кластеру Hadoop с параметром Hadoop.rpc.protection.
Чтобы подключиться к защищенному с помощью Kerberos кластеру Hadoop, используя MIT KDC, сделайте следующее:
Найдите каталог конфигурации Hadoop в каталоге установки SQL Server. Как правило, путь имеет значение
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\PolyBase\Hadoop\conf.Найдите значение конфигурации для ключей конфигурации, перечисленных в таблице, на компьютере с Hadoop. (Найдите файлы в каталоге конфигурации Hadoop на этом же компьютере.)
Скопируйте значения конфигурации в свойство value соответствующих файлов на компьютере с SQL Server.
# Файл конфигурации Ключ конфигурации Действие 1 core-site.xmlpolybase.kerberos.kdchostУкажите имя узла KDC. Например: kerberos.your-realm.com.2 core-site.xmlpolybase.kerberos.realmУкажите область Kerberos. Например, YOUR-REALM.COM
Примечание конфигурации. Имя области должно быть записано в верхнем регистре.
Многоуровневая область не поддерживается.3 core-site.xmlhadoop.security.authenticationНайдите конфигурацию для Hadoop и скопируйте ее на компьютер с SQL Server. Например: KERBEROS
Примечание по безопасности:KERBEROSнеобходимо написать в верхнем регистре.4 hdfs-site.xmldfs.namenode.kerberos.principalНайдите конфигурацию для Hadoop и скопируйте ее на компьютер с SQL Server. Например: hdfs/_HOST@YOUR-REALM.COM5 mapred-site.xmlmapreduce.jobhistory.principalНайдите конфигурацию для Hadoop и скопируйте ее на компьютер с SQL Server. Например: mapred/_HOST@YOUR-REALM.COM6 mapred-site.xmlmapreduce.jobhistory.addressНайдите конфигурацию для Hadoop и скопируйте ее на компьютер с SQL Server. Например: 10.xxx.xxx.174:100207 yarn-site.xmlyarn.resourcemanager.principalНайдите конфигурацию для Hadoop и скопируйте ее на компьютер с SQL Server. Например: yarn/_HOST@YOUR-REALM.COMСоздайте объект учетных данных для базы данных, чтобы указать аутентификационные сведения для каждого пользователя Hadoop. См. статью Объекты T-SQL PolyBase.
Следующие шаги
Дополнительные сведения см. в следующих статьях: