HCatalog - Instalação

Todos os subprojetos do Hadoop, como Hive, Pig e HBase, oferecem suporte ao sistema operacional Linux. Portanto, você precisa instalar um tipo de Linux em seu sistema. HCatalog foi mesclado com a instalação do Hive em 26 de março de 2013. A partir da versão Hive-0.11.0, o HCatalog vem com a instalação do Hive. Portanto, siga as etapas fornecidas abaixo para instalar o Hive, que por sua vez instalará automaticamente o HCatalog em seu sistema.

Etapa 1: Verificação da instalação JAVA

Java deve ser instalado em seu sistema antes de instalar o Hive. Você pode usar o seguinte comando para verificar se o Java já está instalado em seu sistema -

$ java –version

Se o Java já estiver instalado em seu sistema, você verá a seguinte resposta -

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)

Se você não tiver o Java instalado em seu sistema, siga as etapas abaixo.

Etapa 2: Instalando o Java

Baixe o Java (JDK <versão mais recente> - X64.tar.gz) visitando o seguinte link http://www.oracle.com/

Então jdk-7u71-linux-x64.tar.gz será baixado em seu sistema.

Geralmente, você encontrará o arquivo Java baixado na pasta Downloads. Verifique e extraia ojdk-7u71-linux-x64.gz arquivo usando os seguintes 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 disponibilizar o Java a todos os usuários, você deve movê-lo para o local “/ usr / local /”. Abra o root e digite os seguintes comandos.

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

Para configurar PATH e JAVA_HOME variáveis, adicione os seguintes comandos para ~/.bashrc Arquivo.

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

Agora verifique a instalação usando o comando java -version do terminal conforme explicado acima.

Etapa 3: Verificar a instalação do Hadoop

O Hadoop deve ser instalado em seu sistema antes de instalar o Hive. Vamos verificar a instalação do Hadoop usando o seguinte comando -

$ hadoop version

Se o Hadoop já estiver instalado em seu sistema, você receberá a seguinte resposta -

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

Se o Hadoop não estiver instalado em seu sistema, prossiga com as seguintes etapas -

Etapa 4: baixando o Hadoop

Baixe e extraia o Hadoop 2.4.1 da Apache Software Foundation usando os comandos a seguir.

$ 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

Etapa 5: instalando o Hadoop no modo pseudo-distribuído

As etapas a seguir são usadas para instalar Hadoop 2.4.1 no modo pseudo distribuído.

Configurando o Hadoop

Você pode definir variáveis ​​de ambiente Hadoop, anexando os seguintes comandos a ~/.bashrc Arquivo.

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

Agora aplique todas as alterações no sistema em execução atual.

$ source ~/.bashrc

Configuração Hadoop

Você pode encontrar todos os arquivos de configuração do Hadoop no local “$ HADOOP_HOME / etc / hadoop”. Você precisa fazer as alterações adequadas nesses arquivos de configuração de acordo com sua infraestrutura Hadoop.

$ cd $HADOOP_HOME/etc/hadoop

Para desenvolver programas Hadoop usando Java, você deve redefinir as variáveis ​​de ambiente Java em hadoop-env.sh arquivo substituindo JAVA_HOME valor com a localização do Java em seu sistema.

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

A seguir, está a lista de arquivos que você deve editar para configurar o Hadoop.

core-site.xml

o core-site.xml arquivo contém informações como o número da porta usado para a instância do Hadoop, memória alocada para o sistema de arquivos, limite de memória para armazenar os dados e o tamanho dos buffers de leitura / gravação.

Abra o core-site.xml e adicione as seguintes propriedades entre as tags <configuration> e </configuration>.

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

hdfs-site.xml

o hdfs-site.xmlO arquivo contém informações como o valor dos dados de replicação, o caminho do namenode e o caminho do datanode de seus sistemas de arquivos locais. Significa o local onde você deseja armazenar a infraestrutura do Hadoop.

Vamos supor os seguintes dados.

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 arquivo e adicione as seguintes propriedades entre as marcas <configuration>, </configuration> neste arquivo.

<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 - No arquivo acima, todos os valores de propriedade são definidos pelo usuário e você pode fazer alterações de acordo com sua infraestrutura Hadoop.

yarn-site.xml

Este arquivo é usado para configurar o yarn no Hadoop. Abra o arquivo yarn-site.xml e adicione as seguintes propriedades entre as marcas <configuration>, </configuration> neste arquivo.

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

mapred-site.xml

Este arquivo é usado para especificar qual estrutura MapReduce estamos usando. Por padrão, o Hadoop contém um modelo de yarn-site.xml. Em primeiro lugar, você precisa copiar o arquivo demapred-site,xml.template para mapred-site.xml arquivo usando o seguinte comando.

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

Abra o arquivo mapred-site.xml e adicione as seguintes propriedades entre as marcas <configuration>, </configuration> neste arquivo.

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

Etapa 6: Verificar a instalação do Hadoop

As etapas a seguir são usadas para verificar a instalação do Hadoop.

Configuração de Namenode

Configure o namenode usando o comando “hdfs namenode -format” da seguinte forma -

$ cd ~
$ hdfs namenode -format

O resultado esperado é o seguinte -

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

Verificando Hadoop DFS

O seguinte comando é usado para iniciar o DFS. A execução desse comando iniciará seu sistema de arquivos Hadoop.

$ start-dfs.sh

A saída esperada é a seguinte -

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]

Verificando o Script do Yarn

O seguinte comando é usado para iniciar o script Yarn. Executar este comando iniciará seus daemons Yarn.

$ start-yarn.sh

A saída esperada é a seguinte -

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

Acessando o Hadoop no navegador

O número da porta padrão para acessar o Hadoop é 50070. Use a seguinte URL para obter serviços Hadoop em seu navegador.

http://localhost:50070/

Verifique todos os aplicativos do cluster

O número da porta padrão para acessar todos os aplicativos do cluster é 8088. Use o seguinte url para visitar este serviço.

http://localhost:8088/

Depois de concluir a instalação do Hadoop, prossiga para a próxima etapa e instale o Hive em seu sistema.

Etapa 7: baixando o Hive

Usamos hive-0.14.0 neste tutorial. Você pode baixá-lo visitando o seguinte linkhttp://apache.petsads.us/hive/hive-0.14.0/. Vamos supor que ele seja baixado no/Downloadsdiretório. Aqui, baixamos o arquivo Hive chamado “apache-hive-0.14.0-bin.tar.gz”Para este tutorial. O seguinte comando é usado para verificar o download -

$ cd Downloads
$ ls

Após o download bem-sucedido, você verá a seguinte resposta -

apache-hive-0.14.0-bin.tar.gz

Etapa 8: Instalando o Hive

As etapas a seguir são necessárias para instalar o Hive em seu sistema. Vamos supor que o arquivo Hive foi baixado no/Downloads diretório.

Extraindo e Verificando Arquivo Hive

O seguinte comando é usado para verificar o download e extrair o arquivo Hive -

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

Após o download bem-sucedido, você verá a seguinte resposta -

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

Copiando arquivos para o diretório / usr / local / hive

Precisamos copiar os arquivos do superusuário “su -”. Os seguintes comandos são usados ​​para copiar os arquivos do diretório extraído para o/usr/local/hive”Diretório.

$ su -
passwd:
# cd /home/user/Download
# mv apache-hive-0.14.0-bin /usr/local/hive
# exit

Configurando o ambiente para Hive

Você pode configurar o ambiente Hive anexando as seguintes linhas ao ~/.bashrc arquivo -

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

O seguinte comando é usado para executar o arquivo ~ / .bashrc.

$ source ~/.bashrc

Etapa 9: Configurando o Hive

Para configurar o Hive com Hadoop, você precisa editar o hive-env.sh arquivo, que é colocado no $HIVE_HOME/confdiretório. Os seguintes comandos redirecionam para o Hiveconfig pasta e copie o arquivo de modelo -

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

Edite o hive-env.sh arquivo anexando a seguinte linha -

export HADOOP_HOME=/usr/local/hadoop

Com isso, a instalação do Hive está concluída. Agora você precisa de um servidor de banco de dados externo para configurar o Metastore. Usamos o banco de dados Apache Derby.

Etapa 10: Baixar e instalar o Apache Derby

Siga as etapas abaixo para baixar e instalar o Apache Derby -

Baixando Apache Derby

O seguinte comando é usado para baixar o Apache Derby. Leva algum tempo para fazer o download.

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

O seguinte comando é usado para verificar o download -

$ ls

Após o download bem-sucedido, você verá a seguinte resposta -

db-derby-10.4.2.0-bin.tar.gz

Extraindo e verificando o arquivo Derby

Os seguintes comandos são usados ​​para extrair e verificar o arquivo Derby -

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

Após o download bem-sucedido, você verá a seguinte resposta -

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

Copiando arquivos para o diretório / usr / local / derby

Precisamos copiar do superusuário “su -”. Os seguintes comandos são usados ​​para copiar os arquivos do diretório extraído para o/usr/local/derby diretório -

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

Configurando o ambiente para Derby

Você pode configurar o ambiente Derby anexando as seguintes linhas ao ~/.bashrc arquivo -

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

O seguinte comando é usado para executar ~/.bashrc file -

$ source ~/.bashrc

Crie um diretório para o Metastore

Crie um diretório chamado data no diretório $ DERBY_HOME para armazenar dados Metastore.

$ mkdir $DERBY_HOME/data

A instalação do Derby e a configuração do ambiente agora estão completas.

Etapa 11: Configurando o Hive Metastore

Configurar o Metastore significa especificar para o Hive onde o banco de dados está armazenado. Você pode fazer isso editando ohive-site.xml arquivo, que está no $HIVE_HOME/confdiretório. Em primeiro lugar, copie o arquivo de modelo usando o seguinte comando -

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

Editar hive-site.xml e acrescente as seguintes linhas entre as tags <configuration> e </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>

Crie um arquivo chamado jpox.properties e adicione as seguintes linhas nele -

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

Etapa 12: Verificar a instalação do Hive

Antes de executar o Hive, você precisa criar o /tmppasta e uma pasta Hive separada no HDFS. Aqui, usamos o/user/hive/warehousepasta. Você precisa definir a permissão de gravação para essas pastas recém-criadas, conforme mostrado abaixo -

chmod g+w

Agora configure-os no HDFS antes de verificar o Hive. Use os seguintes 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

Os seguintes comandos são usados ​​para verificar a instalação do Hive -

$ cd $HIVE_HOME
$ bin/hive

Na instalação bem-sucedida do Hive, você verá a seguinte resposta -

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>

Você pode executar o seguinte comando de amostra para exibir todas as tabelas -

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

Etapa 13: verificar a instalação do HCatalog

Use o seguinte comando para definir uma variável de sistema HCAT_HOME para HCatalog Home.

export HCAT_HOME = $HiVE_HOME/HCatalog

Use o seguinte comando para verificar a instalação do HCatalog.

cd $HCAT_HOME/bin
./hcat

Se a instalação for bem-sucedida, você verá a seguinte saída -

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