Hcatalog-installation

提供:Dev Guides
移動先:案内検索

HCatalog-インストール

Hive、Pig、HBaseなどのすべてのHadoopサブプロジェクトは、Linuxオペレーティングシステムをサポートしています。 したがって、システムにLinuxフレーバーをインストールする必要があります。 HCatalogは、2013年3月26日にHive Installationと統合されます。 バージョン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のインストール

次のリンクhttp://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260l[[[1]] 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をすべてのユーザーが利用できるようにするには、Javaを「/usr/local/」の場所に移動する必要があります。 ルートを開き、次のコマンドを入力します。

$ 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のダウンロード

次のコマンドを使用して、Apache Software FoundationからHadoop 2.4.1をダウンロードして抽出します。

$ 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のセットアップ

次のコマンドを*〜/.bashrc *ファイルに追加することにより、Hadoop環境変数を設定できます。

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

Javaを使用してHadoopプログラムを開発するには、 JAVA_HOME 値をシステム内のJavaの場所に置き換えて、 hadoop-env.sh ファイルの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* ファイルには、レプリケーションデータの値、namenodeパス、ローカルファイルシステムのdatanodeパスなどの情報が含まれています。 これは、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>

-上記のファイルでは、すべてのプロパティ値はユーザー定義であり、Hadoopインフラストラクチャに応じて変更できます。

yarn-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のインストールを確認します。

ネームノードのセットアップ

次のようにコマンド「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/

HADOOPへのアクセス

クラスターのすべてのアプリケーションを検証する

クラスターのすべてのアプリケーションにアクセスするためのデフォルトのポート番号は8088です。 このサービスにアクセスするには、次のURLを使用してください。

http://localhost:8088/

クラスター

Hadoopのインストールが完了したら、次の手順に進み、Hiveをシステムにインストールします。

ステップ7:Hiveのダウンロード

このチュートリアルでは、hive-0.14.0を使用します。 次のリンク* http://apache.petsads.us/hive/hive-0.14.0/にアクセスしてダウンロードできます。 */Downloads ディレクトリにダウンロードされると仮定しましょう。 ここでは、このチュートリアル用に「 apache-hive-0.14.0-bin.tar.gz 」という名前のHiveアーカイブをダウンロードします。 次のコマンドは、ダウンロードを確認するために使用されます-

$ cd Downloads
$ ls

ダウンロードが成功すると、次の応答が表示されます-

apache-hive-0.14.0-bin.tar.gz

ステップ8:Hiveのインストール

システムにHiveをインストールするには、次の手順が必要です。 Hiveアーカイブが /Downloads ディレクトリにダウンロードされると仮定しましょう。

Hiveアーカイブの抽出と検証

次のコマンドを使用して、ダウンロードを確認し、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の環境をセットアップする

次の行を*〜/.bashrc *ファイルに追加することにより、Hive環境をセットアップできます-

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の構成

HadoopでHiveを構成するには、 $ HIVE_HOME/conf ディレクトリにある hive-env.sh ファイルを編集する必要があります。 次のコマンドは、Hive config フォルダーにリダイレクトし、テンプレートファイルをコピーします-

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

次の行を追加して、 hive-env.sh ファイルを編集します-

export HADOOP_HOME=/usr/local/hadoop

これで、Hiveのインストールが完了しました。 メタストアを構成するには、外部データベースサーバーが必要になりました。 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 *ファイルに追加することで、Derby環境を設定できます-

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

メタストアのディレクトリを作成する

$ DERBY_HOMEディレクトリに data という名前のディレクトリを作成して、メタストアデータを保存します。

$ mkdir $DERBY_HOME/data

これで、Derbyのインストールと環境設定が完了しました。

ステップ11:Hiveメタストアの構成

メタストアの構成とは、データベースの保存場所をHiveに指定することを意味します。 これを行うには、 $ HIVE_HOME/conf ディレクトリにある hive-site.xml ファイルを編集します。 まず、次のコマンドを使用してテンプレートファイルをコピーします-

$ 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を実行する前に、HDFSに /tmp フォルダーと別のHiveフォルダーを作成する必要があります。 ここでは、 /user/hive/warehouse フォルダーを使用します。 以下に示すように、これらの新しく作成されたフォルダの書き込み権限を設定する必要があります-

chmod g+w

Hiveを検証する前に、HDFSでそれらを設定します。 次のコマンドを使用します-

$ $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インストールの検証

次のコマンドを使用して、HCatalogホームのシステム変数 HCAT_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