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