¿Qué es Hive?
Fuente abierta de Facebook para resolver las estadísticas de datos de registros estructurados masivos, más tarde conocido como el proyecto de código abierto de Apache Hive.
Hive se basa en la arquitectura del almacén de datos del sistema de archivos Hadoop. HDFS se utiliza para el almacenamiento y MR se utiliza para el cálculo. Proporciona una gran cantidad de funciones para la gestión del almacén de datos, como herramientas ETL de datos (consulte los detalles más arriba), gestión del almacenamiento de datos y capacidades de análisis y consulta de datos a gran escala.
Al mismo tiempo, Hive también define un lenguaje Hive QL similar a SQL, que permite a los usuarios realizar operaciones similares a SQL. Puede convertir un archivo de datos de datos estructurados en una tabla de datos y proporcionar funciones de consulta simples. Puede convertir SQL en declaraciones MapReduce.
Hive puede entenderse como una herramienta. No existe una estructura maestro-esclavo. No es necesario instalarlo en cada máquina. Solo es necesario instalar algunas.
Base de datos predeterminada: derby, luego convertida a base de datos relacional mysql.
Observe la posición de la colmena en el ecosistema de Hadoop en la siguiente figura.
Luego mire la arquitectura de Hive.
Meta store presenta metadatos.
HDFS y MapReduce. Los datos más primitivos están en realidad en HDFS, y cuando se ejecutan algunas sentencias SQL, internamente se ejecuta MapReduce.
Cliente cliente. Las tareas se pueden enviar al controlador para que se ejecuten a través de JDBC o CLI. SQL Parser cambia los datos a un árbol de sintaxis abstracta y luego los analiza en un plan físico y los pone en ejecución para su ejecución (de hecho, también se ejecuta en MR ).
Tenga en cuenta aquí que el meta store no es una base de datos, ¡sino datos! Almacene información específica de metadatos.
El siguiente es un desmontaje detallado del controlador.
Aquí se puede combinar con la figura anterior para comprender.
Las siguientes palabras son el proceso general.
Aquí, el cliente envía la tarea, primero lee los metadatos para encontrar la información de los metadatos, incluida la ubicación de almacenamiento, el tamaño, etc., y luego los coloca en el controlador para su análisis y luego los coloca en el mapa para reducir para ejecutar.
Fuente:
referencias
Resumen: Hive debe instalarse en el entorno de Hadoop
1 instalación del almacén de datos de hive2.3.6
1.1 Instale el software MySQL en el nodo maestro
actualización de sudo apt
1.1.1 Instalar MySQL
Nota: apt es una actualización en línea, a veces no se puede actualizar.
Razón: el dns de la computadora conectada al wifi y el cable de red son diferentes.
Solución: verifique el dns, si necesita conectarse al cable de red, cambie el dns del cable de red; si necesita conectarse al wifi , cambia el dns del wifi.
1.1.2 Establecer parámetros de MySQL
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 127.0.0.1 cambió a 0.0.0.0 y
finalmente agregó:
default-storage-engine = innodb
innodb_file_per_table = en
collation-server = utf8_general_ci
character-set - servidor = utf8
1.1.3 Establecer inicio automático al arrancar
sudo systemctl habilitar mysql.service
1.1.4 Iniciar el servicio MySQL
sudo systemctl iniciar mysql.service
1.1.5 Inicializar MySQL
sudo mysql_secure_installation
1.1.6 Autorizar el subárbol de usuarios de MySQL
sudo mysql -uroot -p123456
mostrar bases de datos;
use mysql;
crear usuario 'colmena' @ '%' identificado por 'Yun @ 123456';
grant all privileges on *.* to 'hive'@'%';
cree el usuario 'colmena' @ 'localhost' identificado por 'Yun @ 123456';
grant all privileges on *.* to 'hive'@'localhost';
modificar el usuario 'hive' @ '%' no requiere ninguno;
1.1.7 Reiniciar el servicio MySQL
sudo systemctl reiniciar mysql.service
2 Instale el software Hive en el nodo maestro
2.1 Inicie sesión en el nodo maestro como ángel de usuario e instale el software Hive
Cargue Hive en la máquina del nodo a través de winscp
sudo tar xzvf /home/angel/apache-hive-2.3.6-bin.tar.gz
sudo chown -R angel: angel /app/apache-hive-2.3.6-bin
3 Configuración del nodo principal de los parámetros de Hive
3.1 Cambiar el nombre del archivo de configuración de Hive
cd /app/apache-hive-2.3.6-bin/conf
3.2 Modificar el archivo hive-env.sh
vim.tiny hive-ens.sh
agregar:
HADOOP_HOME=/app/hadoop-2.8.5/
export HIVE_CONF_DIR=/app/apache-2.3.6-bin/conf/
export HIVE_AUX_JARS_PATH=/app/apache-hive-2.3.6-bin/lib/
3.3 Crear un nuevo archivo hbase-site.xml
Agregar contenido:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true&useSSL=false&allowPublicKeyRetrieval=true</value>
<description>JDBC connect string for a JDBC metastore.</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>Username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>Yun@123456</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>hive.querylog.location</name>
<value>/app/apache-hive-2.3.6-bin/logs</value>
<description>Location of Hive run time structured log file</description>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://master:9083</value>
<description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description>
</property>
<property>
<name>hive.server2.webui.host</name>
<value>0.0.0.0</value>
</property>
<property>
<name>hive.server2.webui.port</name>
<value>10002</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
</configuration>
3.4 Cargue el paquete de conexión "mysql-connector-java-5.1.48.jar" al directorio /app/apache-hive-2.3.6-bin/lib
3.5 Modificar variables de entorno
3.6 Las variables de entorno entran en vigor
fuente .profile
4 El nodo maestro inicia el servicio Hive
4.1 Crear subárbol de base de datos e importar esquema de subárbol
cd /app/apache-hive-2.3.6-bin/scripts/metastore/upgrade/mysql
mysql -hmaster -uhive -pYun @ 123456
fuente hive-schema-2.3.0.mysql.sql;
Ctrl + D 退出。
4.2 Iniciar el servicio Hive Metastore
hive --service metastore y
presione enter, y luego ingrese hive, puede ingresar a la interfaz de operación de jice.
4.3 Iniciar el servicio hiveserver2
Hiveserver 2 & Después de
iniciar el servicio, jps verifica el proceso en segundo plano.
5 Instale el software Hive en el host del cliente
5.1 Inicie sesión en el host del cliente como el ángel del usuario para instalar el software Hive. El host del cliente puede ser cualquier máquina de nodo esclavo o host de escritorio
sudo scp -r angel @ master: /app/apache-hive-2.3.6-bin /app/apache-hive-2.3.6-bin
input angel contraseña de usuario ingresa
master root password
sudo chown -R angel: angel / app / apache-hive-2.3.6-bin
5.2 Modificar el archivo hive-site.xml
cd /app/apache-hive-2.3.6-bin/conf/
vim.tiny hive-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
<property>
<name>hive.querylog.location</name>
<value>/app/apache-hive-2.3.6-bin/logs</value>
<description>Location of Hive run time structured log file</description>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://master:9083</value>
<description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
</configuration>
5.3 Modificar variables de entorno
Agregar contenido:
export HIVE_HOME=/app/apache-hive-2.3.6-bin
export PATH=$PATH:$HIVE_HOME/bin
Activar la variable de entorno
source.profile
6 Prueba Hive
6.1 Hive de prueba del host del cliente
6.2 Ver base de datos
6.3 Abra el navegador e ingrese "http://172.25.0.10:10002/hiveserver2.jsp" para ver el servicio hiveserver2
En este punto, el almacén de datos de Hive se ha instalado correctamente.