Configuración de la seguridad de Hadoop de PolyBase
En este artículo se proporciona una referencia para distintos valores de configuración que afectan a la conectividad de PolyBase de APS con Hadoop. Para ver un tutorial sobre lo que es PolyBase, consulte ¿Qué es PolyBase?.
Nota
En APS, se necesitan cambios en los archivos XML en todos los nodos Proceso y el nodo Control.
Tenga especial cuidado al modificar archivos XML en APS. Cualquier etiqueta que falte o carácter no deseado puede invalidar el archivo XML e impedir la capacidad de uso de la característica.
Los archivos de configuración de Hadoop se encuentran en la ruta de acceso siguiente:
C:\Program Files\Microsoft SQL Server Parallel Data Warehouse\100\Hadoop\conf
Los cambios realizados en los archivos XML requieren que se reinicie el servicio para ser efectivos.
Configuración de Hadoop.RPC.Protection
Una forma habitual de proteger la comunicación en un clúster de Hadoop consiste en cambiar la configuración de hadoop.rpc.protection a "Privacidad" o "Integridad". De forma predeterminada, PolyBase da por hecho que la configuración está establecida en "Autenticar". Para reemplazar esta configuración predeterminada, agregue la siguiente propiedad al archivo core-site.xml. Si cambia esta configuración, permitirá que se efectúe una transferencia de datos segura entre los nodos de Hadoop y que se establezca una conexión SSL con SQL Server.
<!-- RPC Encryption information, PLEASE FILL THESE IN ACCORDING TO HADOOP CLUSTER CONFIG -->
<property>
<name>hadoop.rpc.protection</name>
<value></value>
</property>
Configuración de Kerberos
Tenga en cuenta que cuando PolyBase se autentica en un clúster protegido de Kerberos, espera que la configuración de hadoop.rpc.protection esté establecida en "Autenticar" de forma predeterminada. Esta acción dejará la comunicación de datos entre los nodos Hadoop sin cifrar. Para usar la configuración de "Privacidad" o "Integridad" para hadoop.rpc.protection, actualice el archivo core-site.xml en el servidor de PolyBase. Para obtener más información, consulte la sección anterior titulada Conectarse al clúster de Hadoop con la opción de configuración Hadoop.RPC.Protection.
Para conectarse a un clúster de Hadoop protegido por Kerberos mediante MIT KDC, se necesitan los siguientes cambios en todos los nodos Proceso de APS y el nodo Control:
Busque los directorios de configuración de Hadoop en la ruta de acceso de instalación de APS. Normalmente, la ruta de acceso es:
C:\Program Files\Microsoft SQL Server Parallel Data Warehouse\100\Hadoop\conf
Busque el valor de configuración del lado de Hadoop de las claves de configuración que se muestran en la tabla. (En el equipo de Hadoop, busque los archivos en el directorio de configuración de Hadoop).
Copie los valores de configuración en la propiedad Value en los archivos correspondientes en el equipo de SQL Server.
# Archivo de configuración Clave de configuración Action 1 core-site.xml polybase.kerberos.kdchost Especifique el nombre de host KDC. Por ejemplo: kerberos.su-dominio.com. 2 core-site.xml polybase.kerberos.realm Especifique el dominio Kerberos. Por ejemplo: SU-DOMINIO.COM 3 core-site.xml hadoop.security.authentication Busque la configuración del lado de Hadoop y cópiela en el equipo de SQL Server. Por ejemplo: KERBEROS
Nota de seguridad: KERBEROS debe estar en mayúsculas. Si aparece en minúsculas, puede que no esté activado.4 hdfs-site.xml dfs.namenode.kerberos.principal Busque la configuración del lado de Hadoop y cópiela en el equipo de SQL Server. Por ejemplo, hdfs/_HOST@YOUR-REALM.COM 5 mapred-site.xml mapreduce.jobhistory.principal Busque la configuración del lado de Hadoop y cópiela en el equipo de SQL Server. Por ejemplo, mapred/_HOST@YOUR-REALM.COM 6 mapred-site.xml mapreduce.jobhistory.address Busque la configuración del lado de Hadoop y cópiela en el equipo de SQL Server. Por ejemplo: 10.193.26.174:10020 7 yarn-site.xml yarn. yarn.resourcemanager.principal Busque la configuración del lado de Hadoop y cópiela en el equipo de SQL Server. Por ejemplo: 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>
- Cree un objeto de credencial con ámbito de base de datos para especificar la información de autenticación para cada usuario de Hadoop. Vea PolyBase T-SQL objects (Objetos T-SQL de PolyBase).
Configuración de la zona de cifrado de Hadoop
Si usa la zona de cifrado de Hadoop, modifique core-site.xml y hdfs-site.xml como se indica a continuación. Proporcione la dirección IP donde se ejecuta el servicio KMS con el número de puerto correspondiente. El puerto predeterminado para KMS en CDH es el 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>