Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om 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 in 'Privacy' of 'Integriteit'. In PolyBase wordt standaard ervan uitgegaan dat de configuratie is ingesteld op 'Verifiëren'. Als u deze standaardwaarde wilt overschrijven, voegt u de volgende eigenschap toe aan het core-site.xml bestand. Als u deze configuratie wijzigt, wordt beveiligde gegevensoverdracht mogelijk tussen de hadoop-knooppunten en 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>
Als u Privacy of Integriteit wilt gebruiken, hadoop.rpc.protectionmoet de versie van het SQL Server-exemplaar ten minste SQL Server 2016 SP1 CU7, SQL Server 2016 SP2 of SQL Server 2017 CU3 zijn.
Voorbeeld-XML-bestanden 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 vindt u de configuratiewaarden onder dezelfde naamconventie 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 wordt geverifieerd bij een beveiligd Kerberos-cluster, wordt verwacht dat de hadoop.rpc.protection instelling standaard 'Verifiëren' is. Hierdoor wordt de gegevenscommunicatie tussen Hadoop-knooppunten niet versleuteld. Voor het gebruik van de instellingen 'Privacy' of 'Integriteit' voor hadoop.rpc.protection, werkt u 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-configuratiewaarde van de configuratiesleutels die in de tabel worden 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. Voorbeeld: kerberos.your-realm.com.2 core-site.xmlpolybase.kerberos.realmGeef de Kerberos-realm op. Bijvoorbeeld: YOUR-REALM.COM
Configuratienotitie: Realmnaam moet in hoofdletters worden geschreven.
Multi-realm wordt niet ondersteund.3 core-site.xmlhadoop.security.authenticationZoek de hadoop-zijdeconfiguratie en kopieer deze naar de SQL Server-machine. Bijvoorbeeld: KERBEROS
Beveiligingsnotitie:KERBEROSmoet in hoofdletters worden geschreven.4 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.COMMaak een referentieobject met databasebereik om de verificatiegegevens voor elke Hadoop-gebruiker op te geven. Zie PolyBase T-SQL-objecten.
Volgende stappen
Zie de volgende artikelen voor meer informatie: