Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server na Windows
Azure SQL Managed Instance
Ten artykuł zawiera informacje dotyczące różnych ustawień konfiguracji, które mają wpływ na łączność technologii PolyBase z usługą Hadoop. Aby zapoznać się z przewodnikiem na temat używania technologii PolyBase z usługą Hadoop, zobacz Konfigurowanie technologii PolyBase w celu uzyskiwania dostępu do danych zewnętrznych w usłudze Hadoop.
Uwaga / Notatka
Począwszy od programu SQL Server 2022 (16.x), platforma Hadoop nie jest już obsługiwana w programie PolyBase.
Ustawienie parametru Hadoop.rpc.protection
Powszechnym sposobem zabezpieczenia komunikacji w klastrze Hadoop jest zmiana hadoop.rpc.protection konfiguracji na Privacy lub Integrity. Domyślnie PolyBase zakłada, że konfiguracja jest ustawiona na .Authenticate Aby zastąpić tę wartość domyślną, dodaj następującą właściwość do core-site.xml pliku. Zmiana tej konfiguracji umożliwia bezpieczny transfer danych między węzłami Hadoop oraz połączenie TLS z SQL Server.
<!-- RPC Encryption information, PLEASE FILL THESE IN ACCORDING TO HADOOP CLUSTER CONFIG -->
<property>
<name>hadoop.rpc.protection</name>
<value></value>
</property>
Aby użyć Privacy lub Integrity dla hadoop.rpc.protection, wersja instancji SQL Server musi być co najmniej SQL Server 2016 SP1 CU7, SQL Server 2016 SP2 lub SQL Server 2017 CU3.
Przykładowe pliki XML dla klastra CDH 5.x
yarn-site.xml z konfiguracją yarn.application.classpath i 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>
Jeśli zdecydujesz się podzielić dwa ustawienia konfiguracji na mapred-site.xml i yarn-site.xml, pliki będą następujące:
Dla 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>
Dla mapred-site.xml:
Zanotuj właściwość mapreduce.application.classpath. W CDH 5.x wartości konfiguracyjne można znaleźć w Ambari zgodnie z tym samym schematem nazewnictwa.
<?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>
Konfiguracja protokołu Kerberos
Gdy PolyBase uwierzytelnia się w klastrze zabezpieczonym za pomocą protokołu Kerberos, oczekuje, że ustawienie hadoop.rpc.protection będzie domyślnie ustawione na Authenticate. To ustawienie pozostawia komunikację danych między węzłami Hadoop nieszyfrowaną. Aby użyć ustawień Privacy lub Integrity dla hadoop.rpc.protection, zaktualizuj plik core-site.xml na serwerze PolyBase. Aby uzyskać więcej informacji, zobacz poprzednią sekcję Connecting to Hadoop Cluster with Hadoop.rpc.protection (Łączenie z klastrem Hadoop.rpc.protection).
Aby nawiązać połączenie z klastrem Hadoop zabezpieczonym przy użyciu protokołu Kerberos przy użyciu usługi MIT KDC:
Znajdź katalog konfiguracji usługi Hadoop w ścieżce instalacji programu SQL Server. Zazwyczaj ścieżka to
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\PolyBase\Hadoop\conf.Znajdź wartość konfiguracji po stronie Hadoop dla kluczy konfiguracyjnych wymienionych w poniższej tabeli. (Na maszynie hadoop znajdź pliki w katalogu konfiguracji usługi Hadoop).
Skopiuj wartości konfiguracji do właściwości wartości w odpowiednich plikach na serwerze SQL Server.
# Plik konfiguracji Klucz konfiguracji Action 1 core-site.xmlpolybase.kerberos.kdchostOkreśl nazwę hosta KDC. Na przykład kerberos.your-realm.com.2 core-site.xmlpolybase.kerberos.realmOkreśl domenę Kerberos. Na przykład YOUR-REALM.COM1, 23 core-site.xmlhadoop.security.authenticationZnajdź konfigurację po stronie usługi Hadoop i skopiuj ją na maszynę z programem SQL Server. Na przykład KERBEROS14 hdfs-site.xmldfs.namenode.kerberos.principalZnajdź konfigurację po stronie usługi Hadoop i skopiuj ją na maszynę z programem SQL Server. Na przykład hdfs/_HOST@YOUR-REALM.COM5 mapred-site.xmlmapreduce.jobhistory.principalZnajdź konfigurację po stronie usługi Hadoop i skopiuj ją na maszynę z programem SQL Server. Na przykład mapred/_HOST@YOUR-REALM.COM6 mapred-site.xmlmapreduce.jobhistory.addressZnajdź konfigurację po stronie usługi Hadoop i skopiuj ją na maszynę z programem SQL Server. Na przykład 10.xxx.xxx.174:100207 yarn-site.xmlyarn.resourcemanager.principalZnajdź konfigurację po stronie usługi Hadoop i skopiuj ją na maszynę z programem SQL Server. Na przykład yarn/_HOST@YOUR-REALM.COM1 Ta wartość musi być zapisana wielką literą.
2 Multi-realm nie jest obsługiwany.Utwórz obiekt poświadczeń ograniczony do bazy danych, aby określić informacje uwierzytelniające dla każdego użytkownika Hadoop. Aby uzyskać więcej informacji, zobacz dokumentację referencyjną języka Transact-SQL dla technologii PolyBase.