Konfigurieren der Sicherheit für PolyBase-Hadoop
Dieser Artikel bietet eine Referenz für verschiedene Konfigurationseinstellungen, die die APS-PolyBase-Konnektivität mit Hadoop beeinflussen. Eine Erläuterung zu PolyBase finden Sie unter Was ist PolyBase?
Hinweis
In APS sind Änderungen an XML-Dateien auf allen Compute- und Steuerknoten erforderlich.
Seien Sie beim Ändern von XML-Dateien in APS besonders vorsichtig. Fehlende Tags oder unerwünschte Zeichen können die XML-Datei ungültig machen, was der Benutzerfreundlichkeit des Features abträglich ist.
Hadoop-Konfigurationsdateien befinden sich im folgenden Pfad:
C:\Program Files\Microsoft SQL Server Parallel Data Warehouse\100\Hadoop\conf
Änderungen an den XML-Dateien erfordern einen Neustart des Dienstes, um wirksam zu werden.
Einstellung Hadoop.RPC.Protection
Eine gängige Methode zum Sichern der Kommunikation in einem Hadoop-Cluster ist das Ändern der Konfiguration „hadoop.rpc.protection“ zu „Datenschutz“ oder „Integrität“. Standardmäßig geht PolyBase davon aus, dass die Konfiguration auf „Authentifizieren“ festgelegt ist. Um diese Standardeinstellung außer Kraft zu setzen, müssen Sie folgende Eigenschaft zur Datei „core-site.xml“ hinzufügen. Das Ändern dieser Konfiguration ermöglicht eine sichere Datenübertragung zwischen Hadoop-Knoten und eine SSL-Verbindung zu SQL Server.
<!-- RPC Encryption information, PLEASE FILL THESE IN ACCORDING TO HADOOP CLUSTER CONFIG -->
<property>
<name>hadoop.rpc.protection</name>
<value></value>
</property>
Kerberos-Konfiguration
Beachten Sie, dass es zur Authentifizierung von PolyBase bei einem gesicherten Kerberos-Cluster erforderlich ist, die Einstellung „hadoop.rpc.protection“ auf „Authentifizieren“ festzulegen. Dadurch bleibt die Datenkommunikation zwischen den Hadoop-Knoten unverschlüsselt. Aktualisieren Sie Datei „core-site.xml“ auf dem PolyBase-Server, um die Einstellung „Datenschutz“ oder „Integrität“ für „hadoop.rpc.protection“ zu verwenden. Weitere Informationen finden Sie im vorherigen Abschnitt (Herstellen einer Verbindung mit einem Hadoop-Cluster mit der Einstellung „hadoop.rpc.protection“).
Zum Herstellen einer Verbindung mit einem durch Kerberos gesicherten Hadoop-Cluster mit MIT-KDC sind die folgenden Änderungen an allen APS-Compute- und Steuerknoten erforderlich:
Suchen Sie nach den Hadoop-Konfigurationsverzeichnissen im Installationspfad von APS. In der Regel lautet der Pfad:
C:\Program Files\Microsoft SQL Server Parallel Data Warehouse\100\Hadoop\conf
Suchen Sie den hadoopseitigen Konfigurationswert der in dieser Tabelle aufgelisteten Konfigurationsschlüssel. (Suchen Sie die Dateien auf dem Hadoop-Computer im Hadoop-Konfigurationsverzeichnis.)
Kopieren Sie die Konfigurationswerte in die Eigenschaft „Value“ in den entsprechenden Dateien auf dem SQL Server-Computer.
# Konfigurationsdatei Konfigurationsschlüssel Aktion 1 core-site.xml polybase.kerberos.kdchost Geben Sie den KDC-Hostnamen an. Zum Beispiel: kerberos.ihr-bereich.de. 2 core-site.xml polybase.kerberos.realm Geben Sie den Kerberos-Bereich an. Zum Beispiel: IHR-BEREICH.DE 3 core-site.xml hadoop.security.authentication Suchen Sie die hadoopseitige Konfiguration, und kopieren Sie diese auf den SQL Server-Computer. Beispiel: KERBEROS
Sicherheitshinweis: KERBEROS muss in Großbuchstaben geschrieben werden. Bei Kleinschreibung ist die Funktionalität nicht gewährleistet.4 hdfs-site.xml dfs.namenode.kerberos.principal Suchen Sie die hadoopseitige Konfiguration, und kopieren Sie diese auf den SQL Server-Computer. Beispiel: hdfs/_HOST@YOUR-REALM.COM 5 mapred-site.xml mapreduce.jobhistory.principal Suchen Sie die hadoopseitige Konfiguration, und kopieren Sie diese auf den SQL Server-Computer. Beispiel: mapred/_HOST@YOUR-REALM.COM 6 mapred-site.xml mapreduce.jobhistory.address Suchen Sie die hadoopseitige Konfiguration, und kopieren Sie diese auf den SQL Server-Computer. Zum Beispiel: 10.193.26.174:10020 7 yarn-site.xml yarn. yarn.resourcemanager.principal Suchen Sie die hadoopseitige Konfiguration, und kopieren Sie diese auf den SQL Server-Computer. Beispiel: yarn/_HOST@YOUR-REALM.COM
core-site.xml
<property>
<name>polybase.kerberos.realm</name>
<value></value>
</property>
<property>
<name>polybase.kerberos.kdchost</name>
<value></value>
</property>
<property>
<name>hadoop.security.authentication</name>
<value>KERBEROS</value>
</property>
hdfs-site.xml
<property>
<name>dfs.namenode.kerberos.principal</name>
<value></value>
</property>
mapred-site.xml
<property>
<name>mapreduce.jobhistory.principal</name>
<value></value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value></value>
</property>
yarn-site.xml
<property>
<name>yarn.resourcemanager.principal</name>
<value></value>
</property>
- Erstellen Sie ein datenbankweites Anmeldeinformationsobjekt, um die Authentifizierungsinformationen für jeden Hadoop-Benutzer anzugeben. Weitere Informationen finden Sie unter PolyBase T-SQL-Objekte.
Einrichtung der Hadoop-Verschlüsselungszone
Ändern Sie bei Verwendung einer Hadoop-Verschlüsselungszone die Dateien core-site.xml und hdfs-site.xml wie folgt. Geben Sie die IP-Adresse, unter der der KMS-Dienst ausgeführt wird, mit der entsprechenden Portnummer an. Der Standardport für KMS in CDH ist 16000.
core-site.xml
<property>
<name>hadoop.security.key.provider.path</name>
<value>kms://http@<ip address>:16000/kms</value>
</property>
hdfs-site.xml
<property>
<name>dfs.encryption.key.provider.uri</name>
<value>kms://http@<ip address>:16000/kms</value>
</property>
<property>
<name>hadoop.security.key.provider.path</name>
<value>kms://http@<ip address>:16000/kms</value>
</property>