La plataforma de Microsoft HDInsight esta implementada con la Java Virtual Machine Zulu* de Azul System en su versión 1.7 (zulu1.7.0_65-7.6.0.1-win64), la cual carece de los parches de seguridad liberados a finales de Enero 2015 (aplicado en las versiones 7u75/7u76 and 8u31).
Es decir que HDInsight presenta actualmente, al menos 19 vulnerabilidades detectadas, reportadas y resueltas en el Fix liberado por Oracle.
Sin embargo, a pesar de que ZuluJDK no contará por lo pronto con la aplicación del Security Fix (que ellos gustan denominar un «Feature»), es prácticamente un hecho que Microsoft deberá realizar el requerimiento en un muy corto plazo para que sea realizado el upgrade de la Java Virtual Machine en su plataforma SaaS.
Microsoft seguramente considerará realizar el upgrade de HDInsight directamente a la plataforma Zulu 8, ya que el JDK 7 saldrá del Roadmap de soporte de Oracle a partir de Abril 2015, una fecha muy próxima.
De cualquier manera, sea cual sea la decisión de la gente de Redmond, lo cierto es que es altamente probable que debamos realizar el upgrade de nuestra plataforma de desarrollo local si queremos mantener una coherencia lógica entre nuestros ambientes. Así que adelantémonos un poco y veamos como actualizar la Java Virtual Machine (Zulu) en el ambiente emulado de #Microsoft HDInsight.
Primero, debemos hacernos de la Java Virtual Machine a la cual deseamos actualizar. Por los momentos el equipo de ZuluJDK no ha realizado ninguna liberación que corresponda a las versiones corregidas (7u75/7u76 and 8u31), así que para este ejercicio habremos de optar por la versión más reciente de Zulu 8 (zulu1.8.0_31)
Para ello, solo hay que ir al sitio oficial de Azul Systems y descargar la versión más reciente de Zulu 8 (por los momentos es la zulu1.8.0_31-8.5.0.1-x86lx64.zip)
http://www.azulsystems.com/products/zulu/downloads#Windows
Una vez que contemos con el JDK en nuestra máquina virtual. Hemos de descomprimir el archivo .zip en la ruta C:\Azul que es donde de manera predeterminada el emulador de HDInsight realiza la instalación de Zulu.
Luego de ello, el siguiente paso es realizar los correspondientes ajustes a las variable de entorno y a las referencias a la JVM.
Cambiar Variables de Entorno
Vamos a propiedades del sistema
Configuraciones avanzadas del sistema, variables de entorno, variables de sistema
Y actualizamos el valor de la variable JAVA_HOME con el path de la JDK 8: C:\Azul\zulu1.8.0_31-8.5.0.1-win64
Cambiar Referencias a la JVM
La plataforma de HDInsight hace uso de un set de XML para cargar la configuración necesaria para sus diferentes componentes, dentro de los cuales se encuentra el path (harcode) de la JVM. De tal suerte que no bastará con realizar la actualización de la variable de entorno, sino que también deberá editar dichos archivos.
Así, deberá editar los archivos: datanode.xml, jobhistoryserver.xml, namenode.xml, nodemanager.xml, resourcemanager.xml, secondarynamenode.xml, timelineserver.xml, derbyserver.xml, hiveserver2.xml, metastore.xml, templeton.xml y zkServer.xml
…para cambiar las referencias
de:
C:\Azul\zulu1.7.0_65-7.6.0.1-win64
a:
C:\Azul\zulu1.8.0_31-8.5.0.1-win64
Reinicie su equipo para que los servicios de Hadoop comiencen a operar con la JDK ZULU 8.
Verifique el acceso al «Hadoop Name Node Status», al «Hadoop YARN Status» y la ejecución del «Hadoop Command Line»
Todo deberá funcionar correctamente.
Finalmente, para evitar confusiones, retire la carpeta C:\Azul\zulu1.7.0_65-7.6.0.1-win64
NOTA: Asegúrese que todos los servicios están ejecutándose antes de retirar la carpeta. Si usted omitió modificar alguna referencia, el sistema le alertará que la JVM está siendo utilizada y no le permitirá remover la carpeta.
_____________
Referencias:
- http://www.javaworld.com/article/2876181/java-security/critical-java-updates-fix-19-vulnerabilities-disable-ssl-30.HTML
- http://www.oracle.com/technetwork/java/javase/eol-135779.HTML
____________
* Zulu is a certified build of OpenJDK
Y por fin!!!
#Zulu 8 incorpora últimas actualizaciones! http://ob.tener.me/1LKLhlP
Y tiene sentido. Hay demasiados componentes soportados en la plataforma. Lo que no tiene sentido es que Azul System no tenga disponible aun la JVM Zulu con el Security Fix. Y menos sentido hace que diga que es un Feature.
Excelente explicación David! Quieres decir que solo a petición del usuario es que se actualiza la JDK?