Configuración de Apache Knox
Apache Knox Gateway es un sistema que proporciona un único punto de acceso seguro a los servicios de Apache Hadoop. El sistema simplifica la seguridad de Hadoop, tanto para los usuarios (que acceden a los datos del clúster y ejecutan trabajos) como para los operadores (que controlan el acceso y gestionan el clúster). Apache Knox Gateway ejecuta un servidor (o clúster de servidores) que sirve a uno o más clústeres de Hadoop.
Apache Knox oculta eficazmente los detalles de topología del clúster de Hadoop y se integra en el LDAP empresarial y Kerberos. Las secciones siguientes proporcionan información sobre las tareas de configuración necesarias de Apache Knox y Analytic Server .
Requisitos previos
- Un problema conocido de Apache Knox no propaga la información de seguridad contenida en las cookies y cabeceras HTTP (para obtener más información, consulte https://issues.apache.org/jira/browse/KNOX-895). El problema se resuelve en Knox 0.14.0 (o posterior). Debe obtener una distribución actualizada de Hortonworks, que incluya Knox 0.14.0 (o posterior), antes de Knox con trabajo con Analytic Server. Póngase en contacto con el proveedor de Hortonworks para obtener más información.
- Los nodos de Analytic Server deben conectarse con el servidor Knox con una conexión SSH sin contraseña. La conexión SSH sin contraseña se mueve de Analytic Server a Knox ( ).
- Analytic Server debe estar instalado después de instalar el servicio Knox.
- com.ibm.spss.knox_0.6-3.4.0.0.jar: el archivo debe copiarse desde la ubicación de Analytic Server :
<Analytic_Server_Installation_Path>/ae_wlpserver/usr/servers/aeserver/apps/AE_BOOT.war/WEB-INF/lib
en el nodo del servidor Knox:
/KnoxServicePath/ext
Por ejemplo: /usr/iop/4.1.0.0/knox/ext
- rewrite.xml y service.xml: los archivos se deben copiar desde la ubicación de Analytic Server :.
<Analytic_Server_Installation_Path>/ae_wlpserver/usr/servers/aeserver/configuration/knox
en el nodo del servidor Knox:
/KnoxServicePath/data/services
Por ejemplo: /usr/iop/4.1.0.0/knox/data/services
Nota: Hay dos conjuntos de archivos rewrite.xml y service.xml (un conjunto para el tráfico de http://rest y un conjunto para el tráfico de ws://websocket ). Copie todos los archivos rewrite.xml y service.xml tanto para analyticserver como para analyticserver_ws en el nodo de servidor Knox. - log4j-api-2.17.1.jar y log4j-core-2.17.1.jar: los archivos se deben copiar desde la ubicación de Analytic Server :
<Analytic_Server_Installation_Path>/ae_wlpserver/usr/servers/aeserver/apps/AE_BOOT.war/WEB-INF/lib
en el nodo del servidor Knox:
/KnoxServicePath/ext
Por ejemplo: /usr/iop/4.1.0.0/knox/ext
Configuración de Ambari
El servicio Analytic Server debe estar configurado en la interfaz de usuario de Ambari :
- En la interfaz de usuario de Ambari , vaya a content. . Los valores actuales de la configuración de Knox se muestran en la ventana
- Añada los dos servicios siguientes a la sección Topología avanzada en la configuración de Knox:
<service> <role>ANALYTICSERVER</role> <url>http://{analyticserver-host}:{analyticserver-port}/analyticserver</url> </service> <service> <role>ANALYTICSERVER_WS</role> <url>ws://{analyticserver-host}:{analyticserver-port}/analyticserver</url> </service>
{analyticserver-host}
y{analyticserver-port}
deben sustituirse por el nombre de servidor y número de puerto adecuados de Analytic Server :- El URL
{analyticserver-host}
se puede encontrar en la interfaz de usuario de Ambari ( ). - El número
{analyticserver-port}
se puede encontrar en la interfaz de usuario de Ambari ( ).
Nota: Cuando Analytic Server se despliega en varios nodos y se utiliza LoadBalancer ,{analyticserver-host}
y{analyticserver-port}
deben corresponder al URL y número de puerto de LoadBalancer . - El URL
- Reinicie el servicio Knox.
Cuando se utiliza LDAP, Knox toma el valor predeterminado de LDAP "Demo". Puede cambiarlo por un servidor LDAP empresarial (como Microsoft LDAP o OpenLDAP).
Configuración de Analytic Server
<value>
de los siguientes valores de Ambari para que reflejen los valores del servidor
LDAP Knox correspondientes:main.ldapRealm.userDnTemplate
main.ldapRealm.contextFactory.url
<param>
<name>main.ldapRealm.userDnTemplate</name>
<value>uid={0},ou=people,dc=hadoop,dc=apache,dc=org</value>
</param>
<param>
<name>main.ldapRealm.contextFactory.url</name>
<value>ldap://{{knox_host_name}}:33389</value>
</param>
Reinicie el servicio Knox tras actualizar los valores LDAP de Knox.
Configuración de Apache Knox
- Renueve el archivo gateway.jks de Knox:
- En el servidor de Knox, detenga el servicio de Knox.
- Suprima el archivo gateway.jks de /var/lib/knox/data-2.6.2.0-205/security/keystores.
- Reinicie el servicio Knox.
- En el servidor Knox, cree el subdirectorio <knox_server>/data/service/analyticserver/3.4.0.0y, a continuación, cargue los archivos service.xml y rewrite.xml en el nuevo directorio. Los dos archivos se encuentran en Analytic Server en <analytic_server>/configuration/knox/analyticserver/ (por ejemplo, /opt/ibm/spss/analyticserver/3.4/ae_wlpserver/usr/servers/aeserver/configuration/knox/analyticserver/*.xml)
- En <knox_server>/bin, ejecute el script
./knoxcli.sh redeploy --cluster default
- Cargue el archivo com.ibm.spss.knoxservice_0.6-*.jar en <knox_server>/ext. El archivo está en Analytic Server en <analytic_server>/apps/AE_BOOT.war/WEB-INF/lib/com.ibm.spss.knox_0.6-3.4.0.0.jar (por ejemplo,/opt/ibm/spss/analyticserver/3.4/ae_wlpserver/usr/servers/aeserver/apps/AE_BOOT.war/WEB-INF/lib/com.ibm.spss.knox_0.6-3.4.0.0.jar).
- En la interfaz de usuario de Ambari , añada el siguiente elemento en
<service> <role>ANALYTICSERVER</role> <url>http://{analyticserver-host}:{analyticserver-port}/analyticserver</url> <role>ANALYTICSERVER_WS</role> <url>ws://{analyticserver-host}:{analyticserver-port}/analyticserver</url> </service>
Nota: De forma predeterminada, la funcionalidad WebSocket está inhabilitada. Se puede habilitar cambiando la propiedadgateway.websocket.feature.enabled
atrue
en el archivo /conf/gateway-site.xml.
: - En la interfaz de usuario de Ambari , añada o actualice los usuarios en
admin
,qauser1
,qauser2
).
(por ejemplo - Reinicie LDAP desde .
- Reinicie el servicio Knox.
Estructura de URL para Apache Knox habilitado Analytic Server
- protocolo https - los usuarios deben aceptar un certificado para continuar en el navegador web.
knox-host
es el host de Knox.knox-port
es el número de puerto de Knox.- El URI es
gateway/default/analyticserver
.