integración de springboot + hbase

El proyecto usa phoenix para usar SQL para operar la base de datos Hbase, pero un encuentro es que la velocidad de consulta SQL en Dbeaver está bien, pero después de usar phoenix + ibatis, el volumen de datos del conjunto de resultados es 20w, que es muy lento. Primero, considere usar redis en caché, pero la memoria es limitada, creo que es para usar, conexión directa de hbase, pruébelo para resolverlo,

Uno: Introducción
hbase-client es una API de nivel relativamente bajo proporcionada por HBase. Debe encapsularse en el uso real para proporcionar a los usuarios mejores API.

Hay varias formas de operar el cliente hbase:

hbase-client es de nivel más bajo, debe encapsular aún más la api usted mismo, y el número de versión y la hbase instalada también deben coincidir; de lo contrario, informará un error
spring-data-hadoop 5 de abril de 2019 dejar de mantener
Apache Phoenix Utilice SQL para operar HBase

  • La siguiente es la forma springboot + hbase-client

¡Nota! Es necesario eliminar el tarro slf4j y log4j; de lo contrario, se informará el error correspondiente: pom.xml import

<dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>2.1.3</version>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

Nota: configuración de hbase application.yml: hbase.zookeeper.znode corregido a hbase.zookeeper.parent

hbase:
  config:
    hbase.zookeeper.quorum: 127.0.0.1
    hbase.zookeeper.port: 2181
    hbase.zookeeper.parent: /hbase
    hbase.client.keyvalue.maxsize: 1572864000

El papel de hbase.zookeeper.parent:

El papel de Zookeeper es:

1. Hbase regionerver se registra con zookeeper y proporciona información de estado de hbase regionerver (si está en línea).

2. Cuando se inicia hmaster, la tabla del sistema hbase -ROOT- se cargará en el clúster de zookeeper, y la información del servidor de regiones correspondiente al almacenamiento de la tabla del sistema actual .META se puede obtener a través del clúster de zookeeper.

Zookeeper es el " coordinador " del clúster hbase . Debido a la naturaleza liviana de zookeeper, podemos compartir un clúster de zookeeper con varios clústeres de hbase para ahorrar muchos servidores. El método para que varios clústeres de hbase compartan el clúster de zookeeper es utilizar el mismo conjunto de ip y modificar la propiedad " zookeeper.znode.parent " de diferentes clústeres de hbase para utilizar diferentes directorios raíz. Por ejemplo, cluster1 usa / hbase-c1, cluster2 usa / hbase-c2 y así sucesivamente.

La función principal de HMaster es mantener las tablas del sistema -ROOT-, .META. A través de HMaster, y registrar la información de cambio de región correspondiente al servidor de región. Además, también es responsable de monitorear y procesar la información de cambio de estado del servidor de regiones en el clúster hbase actual.

El servidor de regiones Hbase se utiliza para regiones de mantenimiento múltiples / únicas.

La región corresponde al mantenimiento de datos de partición de tabla de la tabla de datos de hbase.

Referencia: https://www.cnblogs.com/cxzdy/p/5369187.html

https://www.jianshu.com/p/67a817a157ee

La referencia de construcción del proyecto es la siguiente:

https://blog.csdn.net/vbirdbest/article/details/88410954

3. Referencia recomendada de la API de hbase:

https://www.cnblogs.com/frankdeng/p/9310209.html

4. manipulación y filtrado de datos básicos de JavaApi de hbase (filtro)

https://www.cnblogs.com/frankdeng/p/9310262.html

https://www.cnblogs.com/asker009/p/10626508.html

 

Supongo que te gusta

Origin blog.csdn.net/JHON07/article/details/97164236
Recomendado
Clasificación