HCatalog - Установка

Все подпроекты Hadoop, такие как Hive, Pig и HBase, поддерживают операционную систему Linux. Следовательно, вам необходимо установить версию Linux в вашей системе. HCatalog объединяется с Hive Installation 26 марта 2013 г. Начиная с версии Hive-0.11.0, HCatalog поставляется с установкой Hive. Поэтому следуйте инструкциям ниже, чтобы установить Hive, который, в свою очередь, автоматически установит HCatalog в вашей системе.

Шаг 1. Проверка установки JAVA

Перед установкой Hive в вашей системе должна быть установлена ​​Java. Вы можете использовать следующую команду, чтобы проверить, установлена ​​ли уже в вашей системе Java:

$ java –version

Если Java уже установлена ​​в вашей системе, вы увидите следующий ответ -

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)

Если в вашей системе не установлена ​​Java, вам необходимо выполнить действия, указанные ниже.

Шаг 2: установка Java

Загрузите Java (JDK <последняя версия> - X64.tar.gz), перейдя по следующей ссылке http://www.oracle.com/

потом jdk-7u71-linux-x64.tar.gz будет загружен в вашу систему.

Обычно загруженный файл Java находится в папке «Загрузки». Проверьте это и извлекитеjdk-7u71-linux-x64.gz файл, используя следующие команды.

$ 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

Чтобы сделать Java доступной для всех пользователей, вы должны переместить ее в папку «/ usr / local /». Откройте root и введите следующие команды.

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

Для настройки PATH и JAVA_HOME переменных, добавьте следующие команды в ~/.bashrc файл.

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

Теперь проверьте установку с помощью команды java -version с терминала, как описано выше.

Шаг 3. Проверка установки Hadoop

Перед установкой Hive необходимо установить Hadoop в вашей системе. Давайте проверим установку Hadoop, используя следующую команду -

$ hadoop version

Если Hadoop уже установлен в вашей системе, вы получите следующий ответ -

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

Если Hadoop не установлен в вашей системе, выполните следующие действия:

Шаг 4: загрузка Hadoop

Загрузите и извлеките Hadoop 2.4.1 из Apache Software Foundation, используя следующие команды.

$ 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

Шаг 5: установка Hadoop в псевдораспределенном режиме

Следующие шаги используются для установки Hadoop 2.4.1 в псевдораспределенном режиме.

Настройка Hadoop

Вы можете установить переменные среды Hadoop, добавив следующие команды в ~/.bashrc файл.

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

Теперь примените все изменения к текущей работающей системе.

$ source ~/.bashrc

Конфигурация Hadoop

Вы можете найти все файлы конфигурации Hadoop в папке «$ HADOOP_HOME / etc / hadoop». Вам необходимо внести соответствующие изменения в эти файлы конфигурации в соответствии с вашей инфраструктурой Hadoop.

$ cd $HADOOP_HOME/etc/hadoop

Для разработки программ Hadoop с использованием Java необходимо сбросить переменные среды Java в hadoop-env.sh файл, заменив JAVA_HOME значение с расположением Java в вашей системе.

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

Ниже приведен список файлов, которые необходимо отредактировать для настройки Hadoop.

core-site.xml

В core-site.xml Файл содержит такую ​​информацию, как номер порта, используемый для экземпляра Hadoop, память, выделенная для файловой системы, ограничение памяти для хранения данных и размер буферов чтения / записи.

Откройте core-site.xml и добавьте следующие свойства между тегами <configuration> и </configuration>.

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

hdfs-site.xml

В hdfs-site.xmlФайл содержит такую ​​информацию, как значение данных репликации, путь узла имени и путь узла данных вашей локальной файловой системы. Это означает место, где вы хотите хранить инфраструктуру Hadoop.

Предположим следующие данные.

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

Откройте этот файл и добавьте следующие свойства между тегами <configuration>, </configuration> в этом файле.

<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 - В приведенном выше файле все значения свойств определяются пользователем, и вы можете вносить изменения в соответствии с вашей инфраструктурой Hadoop.

пряжа-site.xml

Этот файл используется для настройки пряжи в Hadoop. Откройте файл yarn-site.xml и добавьте следующие свойства между тегами <configuration>, </configuration> в этом файле.

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

mapred-site.xml

Этот файл используется, чтобы указать, какой фреймворк MapReduce мы используем. По умолчанию Hadoop содержит шаблон yarn-site.xml. Прежде всего, вам нужно скопировать файл изmapred-site,xml.template к mapred-site.xml файл, используя следующую команду.

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

Откройте файл mapred-site.xml и добавьте следующие свойства между тегами <configuration>, </configuration> в этом файле.

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

Шаг 6. Проверка установки Hadoop

Следующие шаги используются для проверки установки Hadoop.

Настройка Namenode

Настройте namenode с помощью команды «hdfs namenode -format» следующим образом:

$ cd ~
$ hdfs namenode -format

Ожидаемый результат выглядит следующим образом -

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

Проверка Hadoop DFS

Следующая команда используется для запуска DFS. Выполнение этой команды запустит вашу файловую систему Hadoop.

$ start-dfs.sh

Ожидаемый результат выглядит следующим образом -

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]

Проверка скрипта пряжи

Следующая команда используется для запуска сценария Yarn. Выполнение этой команды запустит ваши демоны Yarn.

$ start-yarn.sh

Ожидаемый результат выглядит следующим образом -

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

Доступ к Hadoop в браузере

Номер порта по умолчанию для доступа к Hadoop - 50070. Используйте следующий URL-адрес, чтобы получить услуги Hadoop в своем браузере.

http://localhost:50070/

Проверить все приложения для кластера

Номер порта по умолчанию для доступа ко всем приложениям кластера - 8088. Используйте следующий URL-адрес для посещения этой службы.

http://localhost:8088/

Когда вы закончите установку Hadoop, перейдите к следующему шагу и установите Hive в вашей системе.

Шаг 7: загрузка Hive

В этом руководстве мы используем hive-0.14.0. Вы можете скачать его, перейдя по следующей ссылкеhttp://apache.petsads.us/hive/hive-0.14.0/. Предположим, он загружается на/Downloadsкаталог. Здесь мы загружаем архив Hive с именем «apache-hive-0.14.0-bin.tar.gz”Для этого учебника. Следующая команда используется для проверки загрузки -

$ cd Downloads
$ ls

При успешной загрузке вы увидите следующий ответ -

apache-hive-0.14.0-bin.tar.gz

Шаг 8: установка Hive

Следующие шаги необходимы для установки Hive в вашей системе. Предположим, архив Hive загружен на/Downloads каталог.

Извлечение и проверка архива улья

Следующая команда используется для проверки загрузки и извлечения архива Hive -

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

При успешной загрузке вы увидите следующий ответ -

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

Копирование файлов в каталог / usr / local / hive

Нам нужно скопировать файлы от суперпользователя «su -». Следующие команды используются для копирования файлов из извлеченного каталога в/usr/local/hive»Каталог.

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

Настройка среды для Hive

Вы можете настроить среду Hive, добавив следующие строки в ~/.bashrc файл -

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

Следующая команда используется для выполнения файла ~ / .bashrc.

$ source ~/.bashrc

Шаг 9: Настройка Hive

Чтобы настроить Hive с Hadoop, вам необходимо отредактировать hive-env.sh файл, который помещается в $HIVE_HOME/confкаталог. Следующие команды перенаправляют в Hiveconfig папку и скопируйте файл шаблона -

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

Отредактируйте hive-env.sh файл, добавив следующую строку -

export HADOOP_HOME=/usr/local/hadoop

На этом установка Hive завершена. Теперь вам потребуется внешний сервер базы данных для настройки Metastore. Мы используем базу данных Apache Derby.

Шаг 10: загрузка и установка Apache Derby

Следуйте инструкциям ниже, чтобы загрузить и установить Apache Derby -

Скачивание Apache Derby

Следующая команда используется для загрузки Apache Derby. Скачивание займет некоторое время.

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

Следующая команда используется для проверки загрузки -

$ ls

При успешной загрузке вы увидите следующий ответ -

db-derby-10.4.2.0-bin.tar.gz

Извлечение и проверка архива Derby

Следующие команды используются для извлечения и проверки архива Derby:

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

При успешной загрузке вы увидите следующий ответ -

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

Копирование файлов в каталог / usr / local / derby

Нам нужно скопировать от суперпользователя «su -». Следующие команды используются для копирования файлов из извлеченного каталога в/usr/local/derby каталог -

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

Настройка среды для Дерби

Вы можете настроить среду Derby, добавив следующие строки в ~/.bashrc файл -

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

Следующая команда используется для выполнения ~/.bashrc file -

$ source ~/.bashrc

Создать каталог для Metastore

Создайте каталог с именем data в каталоге $ DERBY_HOME для хранения данных Metastore.

$ mkdir $DERBY_HOME/data

Установка Derby и настройка среды завершены.

Шаг 11. Настройка хранилища метаданных Hive

Настройка Metastore означает указание Hive, где хранится база данных. Вы можете сделать это, отредактировавhive-site.xml файл, который находится в $HIVE_HOME/confкаталог. Прежде всего, скопируйте файл шаблона, используя следующую команду -

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

редактировать hive-site.xml и добавьте следующие строки между тегами <configuration> и </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>

Создайте файл с именем jpox.properties и добавьте в него следующие строки -

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

Шаг 12: Проверка установки Hive

Перед запуском Hive вам необходимо создать /tmpпапка и отдельная папка Hive в HDFS. Здесь мы используем/user/hive/warehouseпапка. Вам необходимо установить разрешение на запись для этих вновь созданных папок, как показано ниже -

chmod g+w

Теперь установите их в HDFS перед проверкой Hive. Используйте следующие команды -

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

Следующие команды используются для проверки установки Hive:

$ cd $HIVE_HOME
$ bin/hive

При успешной установке Hive вы увидите следующий ответ -

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>

Вы можете выполнить следующий пример команды, чтобы отобразить все таблицы -

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

Шаг 13: Проверьте установку HCatalog

Используйте следующую команду, чтобы установить системную переменную HCAT_HOME для HCatalog Home.

export HCAT_HOME = $HiVE_HOME/HCatalog

Используйте следующую команду, чтобы проверить установку HCatalog.

cd $HCAT_HOME/bin
./hcat

Если установка прошла успешно, вы увидите следующий вывод -

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