Hive実行環境(CentOS+Vagrant)


HiveQLの練習がてらローカルに環境構築してみました。

前提: mac

VirtualBox

OSX hostsを選択。
ここからダウンロード

Vagrant

$ brew cask install vagrant

実行できなかった場合は、以下を実行(caskをインストール)。

$ brew install caskroom/cask/brew-cask

vagrantの起動&SSH

vagrantの起動は、Vagrantfileがあるディレクトリで、以下を実行。
vagrant upするとけっこう時間がかかるかもしれません。
辛抱強く待ちましょう。

$ vagrant up
$ vagrant ssh

パッケージをインストール

rootユーザーに切替〜!

$ sudo yum -y install openssh-clients rsync wget

Javaをインストール

$ sudo yum -y install java-1.8.0-openjdk-devel
$ java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

$ export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk
$ echo $JAVA_HOME
/usr/lib/jvm/jre-1.8.0-openjdk

Hadoopをインストール&解凍

$ wget http://ftp.riken.jp/net/apache/hadoop/common/hadoop-2.8.1/hadoop-2.8.1.tar.gz
$ tar xf hadoop-2.8.1.tar.gz
$ cd hadoop-2.8.1

Hadoop確認

$ bin/hadoop version
Hadoop 2.8.1
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 20fe5304904fc2f5a18053c389e43cd26f7a70fe
Compiled by vinodkv on 2017-06-02T06:14Z
Compiled with protoc 2.5.0
From source with checksum 60125541c2b3e266cbf3becc5bda666
This command was run using /home/vagrant/hadoop-2.8.1/share/hadoop/common/hadoop-common-2.8.1.jar

Hadoopのパスを通す

$ export HADOOP_HOME=$HOME/hadoop-2.8.1
$ export PATH=$PATH:$HADOOP_HOME/bin

$ cd
$ hadoop version
Hadoop 2.8.1
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 20fe5304904fc2f5a18053c389e43cd26f7a70fe
Compiled by vinodkv on 2017-06-02T06:14Z
Compiled with protoc 2.5.0
From source with checksum 60125541c2b3e266cbf3becc5bda666
This command was run using /home/vagrant/hadoop-2.8.1/share/hadoop/common/hadoop-common-2.8.1.jar

設定ファイル

  • etc/hadoop/core-site.xml
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
  • etc/hadoop/hdfs-site.xml
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
  • etc/hadoop/mapred-site.xml.template
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
  • etc/hadoop/yarn-site.xml
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

起動

$ hadoop namenode -format
$ cd 
$ cd hadoop-2.8.1/sbin
$ ./start-dfs.sh
$ ./start-yarn.sh

起動の確認

$ jps
24049 Jps
18707 NodeManager
18135 DataNode
18281 SecondaryNameNode
18428 ResourceManager
22975 NameNode

HBaseのインストール

$ wget http://ftp.jaist.ac.jp/pub/apache/hbase/1.3.1/hbase-1.3.1-bin.tar.gz
$ tar zxfv hbase-1.3.1-bin.tar.gz

HBaseのパスを通す

export HBASE_HOME=/home/<name>/hbase-1.3.1
export PATH=$HBASE_HOME/bin:$PATH

Hiveのインストール

$ wget http://ftp.riken.jp/net/apache/hive/hive-2.1.1/apache-hive-2.1.1-bin.tar.gz
$ tar -xzvf apache-hive-2.1.1-bin.tar.gz
$ mv apache-hive-2.1.1-bin /usr/hive-2.1.1
$ export HIVE_HOME=/usr/hive-2.1.1
$ export PATH=$PATH:$HIVE_HOME/bin
$ source /etc/bashrc

実行

起動されたら完了!

$ hive

トラブルシューティング

  • ユーザーを確認

whoamiで現在のユーザーを確認。
suでrootのパスワードを入力して切替可能。

wgetしてくる.tar.gzは環境構築時によって有効でなくなっている場合があります。

  • hive実行後のエラー

こちらを実行。

$ mv metastore_db metastore_db.tmp
$ schematool -initSchema -dbType derby

それでもうまくいかない場合は、起動を再実行。
参考URL: https://qiita.com/hashimotom92/items/44fdced2b81846972a7d