Hive - Instalación

Todos los subproyectos de Hadoop, como Hive, Pig y HBase, son compatibles con el sistema operativo Linux. Por lo tanto, debe instalar cualquier sistema operativo con sabor a Linux. Los siguientes pasos simples se ejecutan para la instalación de Hive:

Paso 1: Verificación de la instalación de JAVA

Java debe estar instalado en su sistema antes de instalar Hive. Verifiquemos la instalación de Java usando el siguiente comando:

$ java –version

Si Java ya está instalado en su sistema, verá la siguiente respuesta:

java version "1.7.0_71" 
Java(TM) SE Runtime Environment (build 1.7.0_71-b13) 
Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)

Si java no está instalado en su sistema, siga los pasos que se indican a continuación para instalar java.

Instalación de Java

Paso I:

Descargue java (JDK <última versión> - X64.tar.gz) visitando el siguiente enlace http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html.

Luego, jdk-7u71-linux-x64.tar.gz se descargará en su sistema.

Paso II:

Generalmente, encontrará el archivo java descargado en la carpeta Descargas. Verifíquelo y extraiga el archivo jdk-7u71-linux-x64.gz usando los siguientes comandos.

$ cd Downloads/
$ ls
jdk-7u71-linux-x64.gz
$ tar zxf jdk-7u71-linux-x64.gz
$ ls
jdk1.7.0_71 jdk-7u71-linux-x64.gz

Paso III:

Para que Java esté disponible para todos los usuarios, debe moverlo a la ubicación “/ usr / local /”. Abra root y escriba los siguientes comandos.

$ su
password:
# mv jdk1.7.0_71 /usr/local/
# exit

Paso IV:

Para configurar las variables PATH y JAVA_HOME, agregue los siguientes comandos al archivo ~ / .bashrc.

export JAVA_HOME=/usr/local/jdk1.7.0_71
export PATH=$PATH:$JAVA_HOME/bin

Ahora aplique todos los cambios en el sistema en ejecución actual.

$ source ~/.bashrc

Paso V:

Utilice los siguientes comandos para configurar alternativas de Java:

# alternatives --install /usr/bin/java/java/usr/local/java/bin/java 2

# alternatives --install /usr/bin/javac/javac/usr/local/java/bin/javac 2

# alternatives --install /usr/bin/jar/jar/usr/local/java/bin/jar 2

# alternatives --set java/usr/local/java/bin/java

# alternatives --set javac/usr/local/java/bin/javac

# alternatives --set jar/usr/local/java/bin/jar

Ahora verifique la instalación usando el comando java -version desde el terminal como se explicó anteriormente.

Paso 2: verificar la instalación de Hadoop

Hadoop debe estar instalado en su sistema antes de instalar Hive. Verifiquemos la instalación de Hadoop usando el siguiente comando:

$ hadoop version

Si Hadoop ya está instalado en su sistema, obtendrá la siguiente respuesta:

Hadoop 2.4.1 Subversion https://svn.apache.org/repos/asf/hadoop/common -r 1529768 
Compiled by hortonmu on 2013-10-07T06:28Z 
Compiled with protoc 2.5.0 
From source with checksum 79e53ce7994d1628b240f09af91e1af4

Si Hadoop no está instalado en su sistema, continúe con los siguientes pasos:

Descargando Hadoop

Descargue y extraiga Hadoop 2.4.1 de Apache Software Foundation usando los siguientes comandos.

$ su
password:
# cd /usr/local
# wget http://apache.claz.org/hadoop/common/hadoop-2.4.1/
hadoop-2.4.1.tar.gz
# tar xzf hadoop-2.4.1.tar.gz
# mv hadoop-2.4.1/* to hadoop/
# exit

Instalación de Hadoop en modo pseudo distribuido

Los siguientes pasos se utilizan para instalar Hadoop 2.4.1 en modo pseudodistribuido.

Paso I: configurar Hadoop

Puede configurar las variables de entorno de Hadoop agregando los siguientes comandos a ~/.bashrc archivo.

export HADOOP_HOME=/usr/local/hadoop 
export HADOOP_MAPRED_HOME=$HADOOP_HOME 
export HADOOP_COMMON_HOME=$HADOOP_HOME 
export HADOOP_HDFS_HOME=$HADOOP_HOME 
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export
PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

Ahora aplique todos los cambios en el sistema en ejecución actual.

$ source ~/.bashrc

Paso II: Configuración de Hadoop

Puede encontrar todos los archivos de configuración de Hadoop en la ubicación "$ HADOOP_HOME / etc / hadoop". Debe realizar los cambios adecuados en esos archivos de configuración de acuerdo con su infraestructura de Hadoop.

$ cd $HADOOP_HOME/etc/hadoop

Para desarrollar programas de Hadoop usando java, debe restablecer las variables de entorno de java en hadoop-env.sh archivo reemplazando JAVA_HOME value con la ubicación de java en su sistema.

export JAVA_HOME=/usr/local/jdk1.7.0_71

A continuación se muestra la lista de archivos que debe editar para configurar Hadoop.

core-site.xml

los core-site.xml El archivo contiene información como el número de puerto utilizado para la instancia de Hadoop, la memoria asignada para el sistema de archivos, el límite de memoria para almacenar los datos y el tamaño de los búferes de lectura / escritura.

Abra core-site.xml y agregue las siguientes propiedades entre las etiquetas <configuration> y </configuration>.

<configuration>

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

hdfs-site.xml

los hdfs-site.xmlEl archivo contiene información como el valor de los datos de replicación, la ruta del nodo de nombre y la ruta del nodo de datos de sus sistemas de archivos locales. Significa el lugar donde desea almacenar la infraestructura de Hadoop.

Asumamos los siguientes datos.

dfs.replication (data replication value) = 1

(In the following path /hadoop/ is the user name.
hadoopinfra/hdfs/namenode is the directory created by hdfs file system.)

namenode path = //home/hadoop/hadoopinfra/hdfs/namenode

(hadoopinfra/hdfs/datanode is the directory created by hdfs file system.)
datanode path = //home/hadoop/hadoopinfra/hdfs/datanode

Abra este archivo y agregue las siguientes propiedades entre las etiquetas <configuration>, </configuration> en este archivo.

<configuration>

   <property> 
      <name>dfs.replication</name> 
      <value>1</value> 
   </property> 
   <property> 
      <name>dfs.name.dir</name> 
      <value>file:///home/hadoop/hadoopinfra/hdfs/namenode </value> 
   </property> 
   <property> 
      <name>dfs.data.dir</name>
      <value>file:///home/hadoop/hadoopinfra/hdfs/datanode </value > 
   </property>
   
</configuration>

Note: En el archivo anterior, todos los valores de propiedad están definidos por el usuario y puede realizar cambios de acuerdo con su infraestructura de Hadoop.

yarn-site.xml

Este archivo se utiliza para configurar hilo en Hadoop. Abra el archivo yarn-site.xml y agregue las siguientes propiedades entre las etiquetas <configuration>, </configuration> en este archivo.

<configuration>

   <property> 
      <name>yarn.nodemanager.aux-services</name> 
      <value>mapreduce_shuffle</value> 
   </property>
   
</configuration>

mapred-site.xml

Este archivo se utiliza para especificar qué marco MapReduce estamos usando. De forma predeterminada, Hadoop contiene una plantilla de yarn-site.xml. En primer lugar, debe copiar el archivo de mapred-site, xml.template al archivo mapred-site.xml usando el siguiente comando.

$ cp mapred-site.xml.template mapred-site.xml

Abierto mapred-site.xml y agregue las siguientes propiedades entre las etiquetas <configuration>, </configuration> en este archivo.

<configuration>

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

</configuration>

Verificación de la instalación de Hadoop

Los siguientes pasos se utilizan para verificar la instalación de Hadoop.

Paso I: Configuración del nodo de nombre

Configure el nodo de nombre utilizando el comando "hdfs namenode -format" de la siguiente manera.

$ cd ~
$ hdfs namenode -format

El resultado esperado es el siguiente.

10/24/14 21:30:55 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************ 
STARTUP_MSG: Starting NameNode 
STARTUP_MSG: host = localhost/192.168.1.11 
STARTUP_MSG: args = [-format] 
STARTUP_MSG: version = 2.4.1 
... 
... 
10/24/14 21:30:56 INFO common.Storage: Storage directory 
/home/hadoop/hadoopinfra/hdfs/namenode has been successfully formatted. 
10/24/14 21:30:56 INFO namenode.NNStorageRetentionManager: Going to 
retain 1 images with txid >= 0 
10/24/14 21:30:56 INFO util.ExitUtil: Exiting with status 0
10/24/14 21:30:56 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************ 
SHUTDOWN_MSG: Shutting down NameNode at localhost/192.168.1.11
 ************************************************************/

Paso II: verificar Hadoop dfs

El siguiente comando se usa para iniciar dfs. La ejecución de este comando iniciará su sistema de archivos Hadoop.

$ start-dfs.sh

El resultado esperado es el siguiente:

10/24/14 21:37:56 
Starting namenodes on [localhost] 
localhost: starting namenode, logging to /home/hadoop/hadoop-2.4.1/logs/hadoop-hadoop-namenode-localhost.out 
localhost: starting datanode, logging to /home/hadoop/hadoop-2.4.1/logs/hadoop-hadoop-datanode-localhost.out 
Starting secondary namenodes [0.0.0.0]

Paso III: Verificación del guión de hilo

El siguiente comando se utiliza para iniciar el guión de hilo. La ejecución de este comando iniciará sus demonios de hilo.

$ start-yarn.sh

El resultado esperado es el siguiente:

starting yarn daemons 
starting resourcemanager, logging to /home/hadoop/hadoop-2.4.1/logs/yarn-hadoop-resourcemanager-localhost.out 
localhost: starting nodemanager, logging to /home/hadoop/hadoop-2.4.1/logs/yarn-hadoop-nodemanager-localhost.out

Paso IV: Acceder a Hadoop en el navegador

El número de puerto predeterminado para acceder a Hadoop es 50070. Utilice la siguiente URL para obtener los servicios de Hadoop en su navegador.

http://localhost:50070/

Paso V: verificar todas las aplicaciones para el clúster

El número de puerto predeterminado para acceder a todas las aplicaciones del clúster es 8088. Utilice la siguiente URL para visitar este servicio.

http://localhost:8088/

Paso 3: descarga de Hive

Usamos hive-0.14.0 en este tutorial. Puedes descargarlo visitando el siguiente enlacehttp://apache.petsads.us/hive/hive-0.14.0/.Supongamos que se descarga en el directorio / Downloads. Aquí, descargamos el archivo Hive llamado "apache-hive-0.14.0-bin.tar.gz" para este tutorial. El siguiente comando se utiliza para verificar la descarga:

$ cd Downloads
$ ls

En la descarga exitosa, puede ver la siguiente respuesta:

apache-hive-0.14.0-bin.tar.gz

Paso 4: Instalación de Hive

Los siguientes pasos son necesarios para instalar Hive en su sistema. Supongamos que el archivo de Hive se descarga en el directorio / Downloads.

Extraer y verificar Hive Archive

El siguiente comando se utiliza para verificar la descarga y extraer el archivo de colmena:

$ tar zxvf apache-hive-0.14.0-bin.tar.gz
$ ls

En la descarga exitosa, puede ver la siguiente respuesta:

apache-hive-0.14.0-bin apache-hive-0.14.0-bin.tar.gz

Copiando archivos al directorio / usr / local / hive

Necesitamos copiar los archivos del superusuario "su -". Los siguientes comandos se utilizan para copiar los archivos del directorio extraído al directorio / usr / local / hive ”.

$ su -
passwd:

# cd /home/user/Download
# mv apache-hive-0.14.0-bin /usr/local/hive
# exit

Configuración del entorno para Hive

Puede configurar el entorno de Hive agregando las siguientes líneas a ~/.bashrc archivo:

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=$CLASSPATH:/usr/local/Hadoop/lib/*:.
export CLASSPATH=$CLASSPATH:/usr/local/hive/lib/*:.

El siguiente comando se usa para ejecutar el archivo ~ / .bashrc.

$ source ~/.bashrc

Paso 5: configurar Hive

Para configurar Hive con Hadoop, debe editar el hive-env.sh archivo, que se coloca en el $HIVE_HOME/confdirectorio. Los siguientes comandos redirigen a Hiveconfig carpeta y copie el archivo de plantilla:

$ cd $HIVE_HOME/conf
$ cp hive-env.sh.template hive-env.sh

Edite el hive-env.sh archivo agregando la siguiente línea:

export HADOOP_HOME=/usr/local/hadoop

La instalación de Hive se completó correctamente. Ahora necesita un servidor de base de datos externo para configurar Metastore. Usamos la base de datos Apache Derby.

Paso 6: descarga e instalación de Apache Derby

Siga los pasos que se indican a continuación para descargar e instalar Apache Derby:

Descargando Apache Derby

El siguiente comando se usa para descargar Apache Derby. La descarga lleva algún tiempo.

$ cd ~
$ wget http://archive.apache.org/dist/db/derby/db-derby-10.4.2.0/db-derby-10.4.2.0-bin.tar.gz

El siguiente comando se utiliza para verificar la descarga:

$ ls

En la descarga exitosa, puede ver la siguiente respuesta:

db-derby-10.4.2.0-bin.tar.gz

Extraer y verificar el archivo Derby

Los siguientes comandos se utilizan para extraer y verificar el archivo Derby:

$ tar zxvf db-derby-10.4.2.0-bin.tar.gz
$ ls

En la descarga exitosa, puede ver la siguiente respuesta:

db-derby-10.4.2.0-bin db-derby-10.4.2.0-bin.tar.gz

Copiar archivos al directorio / usr / local / derby

Necesitamos copiar del superusuario "su -". Los siguientes comandos se utilizan para copiar los archivos del directorio extraído al directorio / usr / local / derby:

$ su -
passwd:
# cd /home/user
# mv db-derby-10.4.2.0-bin /usr/local/derby
# exit

Configuración del entorno para Derby

Puede configurar el entorno Derby añadiendo las siguientes líneas a ~/.bashrc archivo:

export DERBY_HOME=/usr/local/derby
export PATH=$PATH:$DERBY_HOME/bin
Apache Hive
18
export CLASSPATH=$CLASSPATH:$DERBY_HOME/lib/derby.jar:$DERBY_HOME/lib/derbytools.jar

El siguiente comando se usa para ejecutar ~/.bashrc archivo:

$ source ~/.bashrc

Crea un directorio para almacenar Metastore

Cree un directorio llamado data en el directorio $ DERBY_HOME para almacenar datos de Metastore.

$ mkdir $DERBY_HOME/data

La instalación de Derby y la configuración ambiental ahora están completas.

Paso 7: configurar Metastore de Hive

Configurar Metastore significa especificar a Hive dónde se almacena la base de datos. Puede hacerlo editando el archivo hive-site.xml, que se encuentra en el directorio $ HIVE_HOME / conf. En primer lugar, copie el archivo de plantilla con el siguiente comando:

$ cd $HIVE_HOME/conf
$ cp hive-default.xml.template hive-site.xml

Editar hive-site.xml y agregue las siguientes líneas entre las etiquetas <configuration> y </configuration>:

<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:derby://localhost:1527/metastore_db;create=true </value>
   <description>JDBC connect string for a JDBC metastore </description>
</property>

Cree un archivo llamado jpox.properties y agregue las siguientes líneas en él:

javax.jdo.PersistenceManagerFactoryClass =

org.jpox.PersistenceManagerFactoryImpl
org.jpox.autoCreateSchema = false
org.jpox.validateTables = false
org.jpox.validateColumns = false
org.jpox.validateConstraints = false
org.jpox.storeManagerType = rdbms
org.jpox.autoCreateSchema = true
org.jpox.autoStartMechanismMode = checked
org.jpox.transactionIsolation = read_committed
javax.jdo.option.DetachAllOnCommit = true
javax.jdo.option.NontransactionalRead = true
javax.jdo.option.ConnectionDriverName = org.apache.derby.jdbc.ClientDriver
javax.jdo.option.ConnectionURL = jdbc:derby://hadoop1:1527/metastore_db;create = true
javax.jdo.option.ConnectionUserName = APP
javax.jdo.option.ConnectionPassword = mine

Paso 8: verificar la instalación de Hive

Antes de ejecutar Hive, debe crear el /tmpcarpeta y una carpeta de Hive separada en HDFS. Aquí usamos el/user/hive/warehousecarpeta. Debe establecer el permiso de escritura para estas carpetas recién creadas como se muestra a continuación:

chmod g+w

Ahora configúrelos en HDFS antes de verificar Hive. Utilice los siguientes comandos:

$ $HADOOP_HOME/bin/hadoop fs -mkdir /tmp 
$ $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp 
$ $HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse

Los siguientes comandos se utilizan para verificar la instalación de Hive:

$ cd $HIVE_HOME
$ bin/hive

Tras la instalación correcta de Hive, verá la siguiente respuesta:

Logging initialized using configuration in jar:file:/home/hadoop/hive-0.9.0/lib/hive-common-0.9.0.jar!/hive-log4j.properties 
Hive history file=/tmp/hadoop/hive_job_log_hadoop_201312121621_1494929084.txt
………………….
hive>

Se ejecuta el siguiente comando de muestra para mostrar todas las tablas:

hive> show tables; 
OK 
Time taken: 2.798 seconds 
hive>