HCatalog - Instalación

Todos los subproyectos de Hadoop, como Hive, Pig y HBase, son compatibles con el sistema operativo Linux. Por lo tanto, necesita instalar una versión de Linux en su sistema. HCatalog se fusionó con la instalación de Hive el 26 de marzo de 2013. Desde la versión Hive-0.11.0 en adelante, HCatalog viene con la instalación de Hive. Por lo tanto, siga los pasos que se indican a continuación para instalar Hive, que a su vez instalará automáticamente HCatalog en su sistema.

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

Java debe estar instalado en su sistema antes de instalar Hive. Puede usar el siguiente comando para verificar si ya tiene Java instalado en su sistema:

$ java –version

Si Java ya está instalado en su sistema, puede 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 no tiene Java instalado en su sistema, debe seguir los pasos que se indican a continuación.

Paso 2: instalar Java

Descargue Java (JDK <última versión> - X64.tar.gz) visitando el siguiente enlace http://www.oracle.com/

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

Generalmente, encontrará el archivo Java descargado en la carpeta Descargas. Verifíquelo y extraiga eljdk-7u71-linux-x64.gz archivo 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

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

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

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

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

Paso 3: 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, proceda con los siguientes pasos:

Paso 4: descarga de 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

Paso 5: Instalar Hadoop en modo pseudo distribuido

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

Configurando 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

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 Hadoop utilizando Java, debe restablecer las variables de entorno de Java en hadoop-env.sh archivo reemplazando JAVA_HOME valor 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 demapred-site,xml.template a mapred-site.xml archivo usando el siguiente comando.

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

Abra el archivo 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>

Paso 6: verificar la instalación de Hadoop

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

Configuración de Namenode

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
************************************************************/

Verificación de Hadoop DFS

El siguiente comando se utiliza para iniciar el DFS. La ejecución de este comando iniciará su sistema de archivos Hadoop.

$ start-dfs.sh

La salida esperada es la 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]

Verificación del guión de hilo

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

$ start-yarn.sh

La salida esperada es la 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

Accediendo 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/

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/

Una vez que haya terminado con la instalación de Hadoop, continúe con el siguiente paso e instale Hive en su sistema.

Paso 7: 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/Downloadsdirectorio. Aquí, descargamos el archivo de 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 8: 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/Downloads directorio.

Extraer y verificar el archivo de Hive

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

$ 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/usr/local/hive”Directorio.

$ 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 9: 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

Con esto, la instalación de Hive está completa. Ahora necesita un servidor de base de datos externo para configurar Metastore. Usamos la base de datos Apache Derby.

Paso 10: 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

Extracción y verificación del 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 desde el superusuario "su -". Los siguientes comandos se utilizan para copiar los archivos del directorio extraído al/usr/local/derby directorio -

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

Preparando el 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
export CLASSPATH=$CLASSPATH:$DERBY_HOME/lib/derby.jar:$DERBY_HOME/lib/derbytools.jar

El siguiente comando se usa para ejecutar ~/.bashrc file -

$ source ~/.bashrc

Crear un directorio para Metastore

Crea 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 11: Configurar el Metastore de Hive

Configurar Metastore significa especificar a Hive dónde se almacena la base de datos. Puede hacer esto editando elhive-site.xml archivo, que está en el $HIVE_HOME/confdirectorio. 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>

Crea 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 12: Verificación de la instalación de Hive

Antes de ejecutar Hive, debe crear el /tmpcarpeta y una carpeta separada de Hive 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

En la instalación exitosa de Hive, puede 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
   =/tmp/hadoop/hive_job_log_hadoop_201312121621_1494929084.txt
………………….
hive>

Puede ejecutar el siguiente comando de muestra para mostrar todas las tablas:

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

Paso 13: Verifique la instalación de HCatalog

Utilice el siguiente comando para establecer una variable del sistema HCAT_HOME para HCatalog Home.

export HCAT_HOME = $HiVE_HOME/HCatalog

Utilice el siguiente comando para verificar la instalación de HCatalog.

cd $HCAT_HOME/bin
./hcat

Si la instalación es exitosa, verá el siguiente resultado:

SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
usage: hcat { -e "<query>" | -f "<filepath>" } 
   [ -g "<group>" ] [ -p "<perms>" ] 
   [ -D"<name> = <value>" ]
	
-D <property = value>    use hadoop value for given property
-e <exec>                hcat command given from command line
-f <file>                hcat commands in file
-g <group>               group for the db/table specified in CREATE statement
-h,--help                Print help information
-p <perms>               permissions for the db/table specified in CREATE statement