Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server in Windows
Azure SQL Managed Instance
Dit artikel bevat een overzicht van verschillende configuratie-instellingen die van invloed zijn op PolyBase-connectiviteit met Hadoop. Zie PolyBase configureren voor toegang tot externe gegevens in Hadoop voor een overzicht van het gebruik van PolyBase met Hadoop.
Opmerking
Vanaf SQL Server 2022 (16.x) wordt Hadoop niet meer ondersteund in PolyBase.
Hadoop.rpc.protection-instelling
Een veelgebruikte manier om communicatie in een Hadoop-cluster te beveiligen is door de hadoop.rpc.protection configuratie te wijzigen naar Privacy of Integrity. Standaard gaat PolyBase ervan uit dat de configuratie is ingesteld op Authenticate. Als u deze standaardwaarde wilt overschrijven, voegt u de volgende eigenschap toe aan het core-site.xml bestand. Door deze configuratie te wijzigen, staat het veilig om gegevens over te dragen tussen de Hadoop-knooppunten en de TLS-verbinding met SQL Server.
<!-- RPC Encryption information, PLEASE FILL THESE IN ACCORDING TO HADOOP CLUSTER CONFIG -->
<property>
<name>hadoop.rpc.protection</name>
<value></value>
</property>
Om te gebruiken Privacy of Integrity voor hadoop.rpc.protection, moet de SQL Server-instantieversie ten minste SQL Server 2016 SP1 CU7, SQL Server 2016 SP2 of SQL Server 2017 CU3 zijn.
Voorbeeldbestanden XML voor CDH 5.x cluster
yarn-site.xml met yarn.application.classpath en mapreduce.application.classpath configuratie.
<?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>
Als u ervoor kiest om uw twee configuratie-instellingen op te splitsen in de mapred-site.xml en de yarn-site.xml, dan zijn de bestanden het volgende:
Voor 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>
Voor mapred-site.xml:
Noteer de eigenschap mapreduce.application.classpath. In CDH 5.x kun je de configuratiewaarden vinden onder dezelfde naamgevingsconventie in 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-configuratie
Wanneer PolyBase zich authenticeert bij een door Kerberos beveiligd cluster, verwacht het dat de hadoop.rpc.protection instelling standaard is Authenticate . Deze instelling laat de datacommunicatie tussen Hadoop-knooppunten onversleuteld. Om instellingen te gebruiken Privacy voor Integrityhadoop.rpc.protection, werk het core-site.xml bestand bij op de PolyBase-server. Zie de vorige sectie Verbinding maken met Hadoop-cluster met Hadoop.rpc.protection voor meer informatie.
Verbinding maken met een Met Kerberos beveiligd Hadoop-cluster met behulp van MIT KDC:
Zoek de Hadoop-configuratiemap in het installatiepad van SQL Server. Meestal is het pad
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Binn\PolyBase\Hadoop\conf.Zoek de Hadoop-zijconfiguratiewaarde van de configuratiesleutels die in de volgende tabel zijn vermeld. (Zoek op de Hadoop-computer de bestanden in de Hadoop-configuratiemap.)
Kopieer de configuratiewaarden naar de waarde-eigenschap in de bijbehorende bestanden op de SQL Server-computer.
# Configuratiebestand Configuratiesleutel Action 1 core-site.xmlpolybase.kerberos.kdchostGeef de KDC-hostnaam op. Bijvoorbeeld: kerberos.your-realm.com.2 core-site.xmlpolybase.kerberos.realmGeef de Kerberos-realm op. Bijvoorbeeld, YOUR-REALM.COM1, 23 core-site.xmlhadoop.security.authenticationZoek de hadoop-zijdeconfiguratie en kopieer deze naar de SQL Server-machine. Bijvoorbeeld, KERBEROS14 hdfs-site.xmldfs.namenode.kerberos.principalZoek de hadoop-zijdeconfiguratie en kopieer deze naar de SQL Server-machine. Bijvoorbeeld: hdfs/_HOST@YOUR-REALM.COM5 mapred-site.xmlmapreduce.jobhistory.principalZoek de hadoop-zijdeconfiguratie en kopieer deze naar de SQL Server-machine. Bijvoorbeeld: mapred/_HOST@YOUR-REALM.COM6 mapred-site.xmlmapreduce.jobhistory.addressZoek de hadoop-zijdeconfiguratie en kopieer deze naar de SQL Server-machine. Bijvoorbeeld: 10.xxx.xxx.174:100207 yarn-site.xmlyarn.resourcemanager.principalZoek de hadoop-zijdeconfiguratie en kopieer deze naar de SQL Server-machine. Bijvoorbeeld: yarn/_HOST@YOUR-REALM.COM1 Deze waarde moet in hoofdletters worden geschreven.
2 Multi-realm wordt niet ondersteund.Maak een referentieobject met databasebereik om de verificatiegegevens voor elke Hadoop-gebruiker op te geven. Voor meer informatie, zie PolyBase Transact-SQL referentie.