Te llevará al mundo Hive en diez minutos (cada paso es para estar más cerca de ti)

Este artículo ha sido actualizado a Yuque, si respondes "Yuque" de fondo, podrás obtener toda la información que se actualiza continuamente a lo largo de la carrera de Attack Bar Big Data.

Este artículo se basa en el tema de Hive: desde SQL hasta el principio de ejecución subyacente de Hive para profundizar en el estudio de Hive. Se cree que la mayoría de los zapatos para niños solo se limitan al nivel teórico para el proceso de ejecución de la capa subyacente de Hive. Luego, este artículo lo llevará a dedicar aproximadamente media hora a rastrear el código fuente de Hive en su propia máquina. A través de este artículo, podrá aprender:
1. La instalación e implementación de cada componente
2. La capacidad de resolver problemas
3. Hágalo usted mismo para depurar el código fuente de Hive localmente, es decir, enviar SQL localmente es más apropiado para rastrear el proceso subyacente

Hay muchos artículos de implementación similares en Internet, pero la mayoría de ellos están dispersos. Este artículo lo llevará de cero a una implementación completa de esta función. Nota: Todos los paquetes de software básicos y los archivos de ejecución relacionados con este artículo se han cargado en la documentación de Yuque y este artículo se basa en Windows.

Preparación ambiental

1. Instalación experta

1.1 Descargue el paquete de software y descomprímalo

El paquete de software se ha subido al documento de Yuque. Los zapatos de los niños que lo necesiten se pueden recoger respondiendo a "Yuque" en segundo plano. Si la contraseña falla, póngase en contacto con el editor.

1.2 Configurar variables de entorno

1.3, configurar la imagen maven

Abra el archivo $MAVEN_HOME/conf/settings.xml, ajuste la dirección del almacén de maven y la dirección del espejo

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                            https://maven.apache.org/xsd/settings-1.0.0.xsd">
        <localRepository>你自己的路径</localRepository>
      <mirrors>
         <mirror>
           <id>alimaven</id>
           <name>aliyun maven</name>
           <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
           <mirrorOf>central</mirrorOf>        
         </mirror>
      </mirrors>
</settings>

Dos, instalación de cywin

La instalación del software es principalmente para admitir el paquete de entorno básico involucrado en la compilación del código fuente de Windows.

2.1 Descargue el paquete de software

El paquete de software se ha subido al documento de Yuque. Los zapatos de los niños que lo necesiten se pueden recoger respondiendo a "Yuque" en segundo plano. Si la contraseña falla, póngase en contacto con el editor.

2.2 Instalar paquetes de software relacionados en línea

Necesita instalar paquetes de compilación relacionados con cywin, gcc+

binutils 
gcc 
gcc-mingw 
gdb

3. Instalación de JDK

3.1 Descargue el paquete de software y descomprímalo

El paquete de software se ha subido al documento de Yuque. Los zapatos de los niños que lo necesiten se pueden recoger respondiendo a "Yuque" en segundo plano. Si la contraseña falla, póngase en contacto con el editor.

3.2, configurar variables de entorno

3.2.1 Crear variable de sistema JAVA_HOME

3.2.2 Crear variable CLASSPATH 3.2.3 Agregar variable Path

4. Instalación de Hadoop

4.1 Descargue el paquete de software y descomprímalo

El paquete de software se ha subido al documento de Yuque. Los zapatos de los niños que lo necesiten se pueden recoger respondiendo a "Yuque" en segundo plano. Si la contraseña falla, póngase en contacto con el editor.

4.2, configurar variables de entorno

Cree la variable de sistema HADOOP_HOME y agregue esta variable a la variable global Path

4.3 Editar archivo de configuración

Nota: Es posible que el paquete de software descargado no contenga los siguientes archivos, pero se proporciona el archivo de plantilla, simplemente cámbiele el nombre directamente. Dado que este artículo es para uso propio, solo es necesario configurar la información básica básica. Los siguientes archivos se encuentran en el directorio $HADOOP_HOME/etc/hadoop.

4.3.1 Modificar el archivo core-site.xml

<configuration>
 <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>  
</configuration>

4.3.2 Modificar el archivo yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
   <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>

</configuration>

4.3.3 Modificar el archivo mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

</configuration>

4.4 Archivos dependientes

Para iniciar Hadoop en el entorno de Windows, se requieren archivos binarios especiales y bibliotecas dependientes, es decir, compatibilidad con winutils y hadoop.dll y otros archivos. El archivo debe colocarse en el directorio HADOOP_HOME/bin y hadoop.dll se puede colocar en C:\Windows\System32 para evitar errores de dependencia.

4.5 Inicio de inicialización

Los siguientes comandos se ejecutan en la línea de comando cmd, vaya al directorio HADOOP_HOME/bin y al directorio HADOOP_HOME/sbin

# 首先初始化namenode,打开cmd执行下面的命令
$HADOOP_HOME/bin> hadoop namenode -format

# 当初始化完成后,启动hadoop
$HADOOP_HOME/sbin> start-all.cmd

Cuando los siguientes procesos se inician con éxito, ¡el entorno básico de hadoop se ha creado con éxito!

Cinco, instalación de Mysql

5.1 Descargue el paquete de software y descomprímalo

El paquete de software se ha subido al documento de Yuque. Los zapatos de los niños que lo necesiten se pueden recoger respondiendo a "Yuque" en segundo plano. Si la contraseña falla, póngase en contacto con el editor.

5.2, configurar variables de entorno

5.2.1 Crear la variable MYSQL_HOME 5.2.2 Agregar la variable MYSQL_HOME a la variable Path

5.3 Generar archivo de datos

Abra una ventana de CMD con sysadmin

--执行下面命令
mysqld --initialize-insecure --user=mysql 

5.4, ​​instala Mysql y comienza

--执行命令
mysqld -install

--启动服务
net start MySQL

5.5 Modificación de contraseña

--初始登录时不需要密码,直接回车即可
mysql -u root -p

--修改root默认密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

--刷新提交
 flush privileges;  

6. Compilación e instalación de Hive

Si desea aprender la capa inferior de Hive en profundidad, entonces la compilación del código fuente es esencial, por lo que este artículo utilizará la forma de compilación e instalación del paquete de código fuente.

6.1 Descargue el paquete de software y descomprímalo

El paquete de software se ha subido al documento de Yuque. Los zapatos de los niños que lo necesiten se pueden recoger respondiendo a "Yuque" en segundo plano. Si la contraseña falla, póngase en contacto con el editor.

6.2, compilar

Ejecute el siguiente comando en IDEA:

mvn clean package -Phadoop-2 -DskipTests -Pdist

Cuando el resultado de la compilación es como se muestra en la figura anterior, significa que la compilación se realizó correctamente y puede pasar al siguiente paso.
Nota: Es muy posible encontrar problemas durante el proceso de compilación, la mayoría de los cuales se deben a maven, pueden ser problemas de red o también pueden estar relacionados con la configuración de su espejo. Además, para el problema "No se pudo transferir el artefacto XXXX" que ocurre durante la compilación de algunos módulos, ¡primero puede comentar la configuración del alcance en el archivo pom!

6.3 Instalación

Una vez completada la compilación, puede encontrar el paquete comprimido ejecutable correspondiente en el directorio $HIVE_SRC_HOME/packaging/target 6.3.1, configure las variables de entorno
Cree la variable de sistema HIVE_HOME y luego agregue la variable a la variable Path 6.3.2, edite colmena -env.sh archivo

# 配置环境信息
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=D:\GitCode\hadoop-2.7.2

# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=D:\GitCode\apache-hive-2.3.9-bin\conf

# Folder containing extra libraries required for hive compilation/execution can be controlled by:
export HIVE_AUX_JARS_PATH=D:\GitCode\apache-hive-2.3.9-bin\lib

6.3.3 Edite el archivo hive-site.xml
Hay algunos parámetros más en este archivo, pero solo necesitamos cambiar la parte básica.

<property>
    <name>hive.repl.rootdir</name>
    <value>D:\GitCode\apache-hive-2.3.9-bin\tmp_local</value>
  </property>
  
   <property>
    <name>hive.repl.cmrootdir</name>
    <value>D:\GitCode\apache-hive-2.3.9-bin\tmp_local</value>
  </property>
  
   <property>
    <name>hive.exec.local.scratchdir</name>
    <value>D:\GitCode\apache-hive-2.3.9-bin\tmp_local</value>
  </property>
  
  <property>
    <name>hive.downloaded.resources.dir</name>
    <value>D:\GitCode\apache-hive-2.3.9-bin\tmp_local\${hive.session.id}_resources</value>
  </property>
  
  <property>
    <name>hive.querylog.location</name>
    <value>D:\GitCode\apache-hive-2.3.9-bin\tmp_local</value>
  </property>
  
   <property>
    <name>hive.server2.logging.operation.log.location</name>
    <value>D:\GitCode\apache-hive-2.3.9-bin\tmp_local</value>
   </property>
  
    <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value>
  </property>
  
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8</value>
  </property>
  
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
  </property>
  
  <property>
    <name>hive.metastore.schema.verification</name>
    <value>false</value>
  </property>

6.3.3 Cambie el nombre del archivo de registro
Simplemente elimine el sufijo de varios archivos de registro con plantilla en el archivo conf 6.3.4
Cargue el directorio HIVE_HOME/lib del paquete de controladores

6.4 Inicialización de metadatos

En el entorno de Windows, el archivo ejecutable que termina en cmd no se encuentra en el directorio $HIVE_HOME/bin, por lo que para ajustar el entorno básico, puede copiarlo desde la versión inferior. Los scripts y paquetes de software involucrados en este artículo están empaquetados y cargados en el disco de la nube.

# 打开cmd命令行
$HIVE_HOME/bin> hive schematool -dbType mysql -initSchema  --verbose 

Nota: Durante el proceso de inicialización, puede haber un problema de que la tabla no se puede crear y se puede crear manualmente aquí. O directamente fuente del archivo sql. Este artículo usa hive-shceam-2.3.0.mysql.sql y el archivo SQL se encuentra en HIVE_HOME/scripts/metastore/upgrade/mysql:

Depuración de inicio de servicio

En el enlace de creación de Hadoop, se ha iniciado el servicio Hadoop y aquí se inicia el servicio Hive Metastore

hive --service metastore

2.1, el servidor inicia el modo de depuración

Para la conveniencia de aprender, puede abrir la Terminal en IDEA, habilitar el modo de depuración e iniciar el servicio metastore.

hive --debug

2.2 Modo de punto de interrupción del cliente

2.2.1 Configurar la depuración remota
Configure la información de depuración remota en IDEA 2.2.2 Identificación del punto de interrupción
Este artículo rastrea el código fuente en el lado del cliente, por lo que generalmente ingresará a la clase CliDriver, como establecer un punto de interrupción en el método principal, y luego comience la depuración En este punto, se ha realizado toda la función de depuración. Puede escribir HSQL localmente y luego aprender el proceso de ejecución específico en la parte inferior de Hive de acuerdo con los puntos de interrupción, ¡e incluso modificar el código fuente usted mismo!

Supongo que te gusta

Origin blog.csdn.net/qq_28680977/article/details/121781301
Recomendado
Clasificación