Instalar y configurar de HIVE en Hadoop

Prerequisitoslogo hive

 

Descargar Hive

Buscar la última versión de Hive compatible con el sistema que tengas o bien usar wget

cd /home/hadoop/Descargas
wget http://apache.rediris.es/hive/hive-2.3.4/apache-hive-2.3.4-bin.tar.gz

Descomprimir el fichero descargado

tar xvf apache-hive-2.3.4-bin.tar.gz

Mover la carpeta generada a el directorio donde tenemos los programas de hadoop «/opt» (usando root)

su -
mv /home/hadoop/Descargas/apache-hive-2.3.4-bin /opt/hive

 

Modificar variables de entorno

Incorporamos al Path hive para que pueda ser llamado desde cualquier punto

gedit /home/hadoop/.bashrc
export HIVE_HOME=/opt/hive
export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/conf # Unir al path existente

Nota: Es necesario hacer que se apliquen los cambios

cd /home/hadoop
. ./.bashrc

Nota: para comprobar que nos reconoce las rutas de hive podemos escribir hiv y ver que autocompleta

 

Configurar Hive

Accedemos al directorio de configuración para utilizar los templates, para ello los copiamos si el .template

cd /opt/hive/conf
cp hive-default.xml.template hive-site.xml
cp hive-env.sh.template hive-env.sh
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
cp hive-log4j2.properties.template hive-log4j2.properties

Modificamos el fichero hive.env.sh para incluirle dos nuevos parámetros

gedit hive.env.sh
export HADOOP_HOME=/opt/hadoop
export HIVE_CONF_DIR=/opt/hive/conf

Crear la estructura hive dentro del hdfs

hdfs dfs -mkdir /tmp
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -chmod g+w /tmp
hdfs dfs -chmod g+w /user/hive/warehouse

Abrir el fichero de configuración hive-site.xml e incorporar la configuración

gedit /opt/hive/conf/hive-site.xml
  <property>
    <name>system:java.io.tmpdir</name>
    <value>/tmp/hive/java</value>
  </property>
  <property>
    <name>system:user.name</name>
    <value>${user.name}</value>
  </property>

Creamos un directorio donde guardar los metadatos «metastore»

cd /opt/hive
mkdir ddbb
cd ddbb

Creamos la base de datos con su configuración

schematool -dbType derby -initSchema

Comprobamos que la base de datos ha sido generada con éxito:

ls -l
derby.log 
metastore_db

 

Arrancar el cliente hive

hive

Comprobar las bases de datos existentes para ver que todo se configuró correctamente

show databases;