Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server na Windows
Azure SQL Managed Instance
Tento článek obsahuje referenční informace o různých nastaveních konfigurace, která ovlivňují připojení PolyBase k Systému Hadoop. Návod, jak používat PolyBase s Hadoopem, najdete v tématu Konfigurace PolyBase pro přístup k externím datům v Hadoopu.
Poznámka:
Od verze SQL Server 2022 (16.x) se v PolyBase už Hadoop nepodporuje.
Nastavení Hadoop.rpc.protection
Běžným způsobem zabezpečení komunikace v Hadoop clusteru je změna hadoop.rpc.protection konfigurace na Privacy nebo Integrity. Ve výchozím nastavení PolyBase předpokládá, že konfigurace je nastavena na Authenticate. Chcete-li toto výchozí nastavení přepsat, přidejte do core-site.xml souboru následující vlastnost. Změna této konfigurace umožňuje bezpečný přenos dat mezi Hadoop uzly a TLS spojení se SQL Server.
<!-- RPC Encryption information, PLEASE FILL THESE IN ACCORDING TO HADOOP CLUSTER CONFIG -->
<property>
<name>hadoop.rpc.protection</name>
<value></value>
</property>
Pro použití Privacy nebo Integrity pro hadoop.rpc.protection, musí být verze instance SQL Server alespoň SQL Server 2016 SP1 CU7, SQL Server 2016 SP2 nebo SQL Server 2017 CU3.
Příklady XML souborů pro CDH 5.x cluster
yarn-site.xml s konfigurací yarn.application.classpath a 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>
Pokud se rozhodnete rozdělit dvě nastavení konfigurace do mapred-site.xml a pak yarn-site.xmlsoubory budou následující:
Pro 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>
Pro mapred-site.xml:
Poznamenejte si vlastnost mapreduce.application.classpath. V CDH 5.x najdete konfigurační hodnoty pod stejným pojmenováním v 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>
Konfigurace protokolu Kerberos
Když se PolyBase autentizuje do clusteru zabezpečeného Kerberosem, očekává, že toto hadoop.rpc.protection nastavení bude Authenticate výchozí. Toto nastavení ponechává datovou komunikaci mezi Hadoop uzly nešifrovanou. Chcete-li použít nastavení Privacy nebo Integrity pro hadoop.rpc.protection, aktualizujte soubor core-site.xml na serveru PolyBase. Další informace najdete v předchozí části Připojení ke clusteru Hadoop pomocí hadoop.rpc.protection.
Připojení ke clusteru Hadoop zabezpečenému protokolem Kerberos pomocí MIT KDC:
Vyhledejte konfigurační adresář Hadoop v instalační cestě SQL Serveru. Obvykle je cesta
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\PolyBase\Hadoop\conf.Najděte konfigurační hodnotu na straně Hadoop pro konfigurační klíče uvedené v následující tabulce. (Na počítači Hadoop vyhledejte soubory v konfiguračním adresáři Hadoop.)
Zkopírujte konfigurační hodnoty do vlastnosti v odpovídajících souborech na serveru SQL.
# Konfigurační soubor Konfigurační klíč Action 1 core-site.xmlpolybase.kerberos.kdchostZadejte název hostitele služby KDC. Například: kerberos.your-realm.com.2 core-site.xmlpolybase.kerberos.realmZadejte sféru Kerberos. Například YOUR-REALM.COM1, 23 core-site.xmlhadoop.security.authenticationVyhledejte konfiguraci na straně Hadoopu a zkopírujte ji na počítač s SQL Serverem. Například KERBEROS14 hdfs-site.xmldfs.namenode.kerberos.principalVyhledejte konfiguraci na straně Hadoopu a zkopírujte ji na počítač s SQL Serverem. Příklad: hdfs/_HOST@YOUR-REALM.COM5 mapred-site.xmlmapreduce.jobhistory.principalVyhledejte konfiguraci na straně Hadoopu a zkopírujte ji na počítač s SQL Serverem. Příklad: mapred/_HOST@YOUR-REALM.COM6 mapred-site.xmlmapreduce.jobhistory.addressVyhledejte konfiguraci na straně Hadoopu a zkopírujte ji na počítač s SQL Serverem. Příklad: 10.xxx.xxx.174:100207 yarn-site.xmlyarn.resourcemanager.principalVyhledejte konfiguraci na straně Hadoopu a zkopírujte ji na počítač s SQL Serverem. Příklad: yarn/_HOST@YOUR-REALM.COM1 Tato hodnota musí být napsána velkými písmeny.
2 Multi-realm není podporován.Vytvořte objekt přihlašovacích údajů v oboru databáze, který určuje ověřovací informace pro každého uživatele Hadoopu. Pro více informací viz PolyBase Transact-SQL referenci.