Explicación de los principios del complemento de código fuente Ranger (HDFS)
2. Proceso de carga:
Primero, cargue la clase RangerHdfsAuthorizer en el paquete ranger-hdfs-plugin-shim . Esta clase se carga dinámicamente en la máquina virtual cuando se inicia Namenode y crea una instancia de RangerHdfsAuthorizerorizer en el paquete ranger-hdfs-plugin.
Cuerpo del método GetInstance:
Carga de clases:
Activación del complemento:
Bajo el paquete ranger-hdfs-plugin: RangerHdfsPlugin hereda RangerBasePlugin, el primero es el método de inicialización init, llamando al método init de RangerBasePlugin, que implementa principalmente las siguientes operaciones:
Clase principal init:
Configuración del motor de políticas:
Proceso de implementación de rangerAdmin (Pase el tiempo en el archivo de configuración) (estrategia de actualización programada), use jersey para construir la implementación del cliente del servicio RESTful (RangerAdminRESTClient):