Requisitos previos de ajuste HBase
Cualquier instalación seria HBase requiere un poco de configuración estándar en el clúster y en los nodos individuales. Algunos ejemplos se proporcionan aquí. Primero eche un vistazo a la supervisión y la gestión.
Conteúdo
Herramientas para supervisar el clúster
Si usted ha tenido el privilegio de ingeniería de un sistema en algún momento de su carrera, usted sabe que se enfrenta el gran reto de dar con un procedimiento de pruebas rigurosas para asegurar que su sistema está listo para su fase de producción. Si usted no planea para la prueba y la depuración derecha en la delantera, es probable que pierda sus plazos de producción o fracasan por completo.
Los committers HBase y Hadoop se aseguraron de que usted tendría una rica métricas subsistema de aprovechar durante la fase de depuración y prueba. Puedes encontrar todos los detalles sucios en la documentación en línea de Apache HBase, especialmente las secciones que tratan de copia de seguridad HBase y replicación.
La característica de replicación Cluster es una herramienta clave en la depuración, ajuste o si desea ejecutar Mapa Reducir contra las tablas sin afectar al rendimiento. Obviamente, lo necesitarás para el desastre a recuperarse también.
Introducción a las herramientas de gestión Hadoop conjunto es sorprendentemente fácil. HBase aprovecha la tecnología Java Management Extensions (JMX) para exponer las métricas clave. Y con la máquina virtual de Java, también puede obtener la herramienta JConsole, un cliente JMX gratuito que puede utilizar para ver las métricas HBase.
La distribución HBase que hemos estado trabajando con (0.94.7) permite el acceso a través de JConsole por defecto, por lo que en su entorno autónomo sólo tiene que seleccionar el servidor HBase que desea supervisar y JConsole continuación te presenta una interfaz gráfica de usuario para la clave de visión medidas del servidor.
Puede iniciar la herramienta JConsole con el siguiente comando: $ JAVA_HOME / bin / jconsole
Además, usted debe familiarizarse con estas otras dos tecnologías de código abierto para el seguimiento de su clúster HBase:
Ganglios: A menudo se utiliza para proporcionar gráficos de monitoreo a través del tiempo, los ganglios puede ayudar a detectar problemas que se producen de vez en cuando o sólo después de días de operación.
Nagios: Nagios es útil si usted es un administrador HBase y desea recibir una página en su buscapersonas o un e-mail si, por ejemplo, un RegionServer cae o tiene un problema de recolección de basura en el clúster.
Si usted está aprovechando HBase como parte de un producto comercial, asegúrese de consultar con su proveedor para obtener una herramienta para monitorear y administrar HBase.
Configuración de clúster
HBase normalmente despliega en un clúster, y usted tendrá que hacer algunos ajustes en cada uno de sus servidores para alojar componentes HBase. Un buen primer paso es asegurarse de que los relojes del sistema en cada servidor del clúster están en sintonía.
Fuera de los relojes del sistema de sincronización en los servidores realmente puede confundir HBase, a fin de comprobar el Network Time Protocol o NTP para abreviar. Ejecución de la NTP en el clúster se hará cargo de cualquier problema de sincronización de tiempo.
Además, HBase es una aplicación única en ciertos aspectos, ya que hace hincapié en su sistema más allá del nivel que las aplicaciones pueden hacer. La verdad es que HBase se va a abrir una gran cantidad de archivos - que es la naturaleza de la bestia.
Teniendo en cuenta este hecho, es necesario asegurarse de que sus sistemas operativos están configurados para manejar lo que es seguro que será una carga del sistema de archivos de gran de-típica. Intercambio en tu Linux sistemas (que se mueven entre el disco y la memoria, en otras palabras) que opera puede tener efectos muy adversos en Zookeeper.
Por último está la máquina virtual de Java (JVM) que se ejecuta en última instancia de cada uno de sus nodos y ejecuta los procesos HBase. HBase también pone muy lejos de ser típico de estrés en la JVM. (Por ejemplo, la caché MEMSTORE, que en gran medida ejerce el sistema de recolección de basura, es seguro que será gravado al máximo.)
Cuando el MEMSTORE se compromete a HFiles en el HDFS, el almacenamiento dinámico de Java se recupera. Esto puede dar lugar a la recolección de basura larga pausa si su JVM no está configurado correctamente.
Así que por todas estas razones y más debe revisar estas dos secciones de la documentación en línea de Apache HBase:
Requisitos de configuración general: Repaso Capítulo 2 de la documentación en línea de Apache HBase y especialmente la sección 2.5 titulada "Las Configuraciones importantes".
Máquina virtual de Java: Determine qué JVM se está ejecutando y asegúrese de que ha sido probado para la compatibilidad con HBase. La documentación en línea de Apache HBase sugiere Java 6 de Oracle Java 7, porque no ha sido completamente probado.
Otra JVM es J9 de IBM. Si va a utilizar J9, revise la documentación de IBM para las últimas opciones de línea de comandos al iniciar sus JVM.
Habilitación de la compresión
La compresión aumenta el rendimiento HBase al reducir de entrada / salida de disco en general. Considere la posibilidad de habilitar la compresión de datos a menos que su no comprime bien (imágenes, por ejemplo) o si sus RegionServers no pueden manejar la carga de CPU adicional que la compresión y descompresión requiere.
La compresión se puede activar a través del comando shell HBase. Por defecto, la compresión está desactivado por familia columna. Los tipos de compresión soportados son Gzip, LZO y Snappy (con algunos otros derivados disponibles y más en camino). GZIP es mejor en general para lograr una buena relación de compresión, pero LZO y Snappy son más rápidos.
Tenga en cuenta, sin embargo, que tanto LZO y códecs de compresión Snappy deben instalarse separado- única Gzip funciona sin más pasos de configuración. El listado muestra los pasos que había necesidad de habilitar la compresión Gzip en la mesa de información del cliente Contacto:
HBase (principal): 007: 0> desactivar 'CustomerContactInfo'hbase (principal): 010: 0> alterar' CustomerContactInfo ', {NAME =>' CustomerName ", COMPRESIÓN => 'GZ'} HBase (principal): 014: 0 > describir 'CustomerContactInfo'... {NAME => 'CustomerName ", REPLICATION_SCOPE =>' 0 ', KEEP_DELETED_CELLS =>' falsa ', COMPRESIÓN =>' GZ ', ... HBase (principal): 017: 0> enable' CustomerContactInfo '