概要
Apache Hadoop と Hive のインストール手順です。
それぞれ別記事に分けて書きます。
目次
- Apache Hadoopのインストール手順
- Apache Hiveのインストール手順
- HadoopでWordCountをやってみる
Apache Hadoopのインストール手順
Hadoopとは、ビッグデータを取り扱うための、分散処理のフレームワーク、基盤です。
この手順では、擬似的にスタンドアローンモード(ローカルモード)で構築します。
環境
- CentOS 7.1
- Hadoop 2.8.0
- MariaDB 5.5.52
- java 1.8.0
- Hive 2.3.0
- HBase 1.3.1
このページでは太字のもののインストールを行います。
SELINUXの無効化
SELINUXを無効にします。
$ sudo vi /etc/selinux/config
SELINUX=disabled
依存関係インストール
$ sudo yum update -y
$ sudo yum -y groupinstall 'Development tools'
ssh設定
localhostにパスワード無しでssh接続できるようにします。
$ ssh-keygen
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
ssh接続できるか検証
$ ssh localhost
MariaDBのインストール
MariaDBをインストールします。
$ sudo yum -y install mariadb-server
$ sudo systemctl enable mariadb
$ sudo systemctl start mariadb
metastore用データベースの作成
databaseの文字コードはlatin1にしておく必要があります。
参考:http://tagomoris.hatenablog.com/entry/20110310/1299738606
$ mysql -u root
MariaDB [(none)]> create database hive_metastore default character set 'latin1';
MariaDB [(none)]> use hive_metastore;
MariaDB [hive_metastore]> create user 'hive'@'localhost' identified by '※DBパスワード※';
MariaDB [hive_metastore]> grant select, insert, update, delete, alter, create, index, references on hive_metastore.* to 'hive'@'localhost';
javaのインストール
以下を参考にしてインストール
CentOS7にJava OpenJDK8のインストール
Hadoopのインストール
以下からページからApache Hadoopをダウンロードして展開します。
Apache Download Mirrors - hadoop-common
$ wget http://ftp.jaist.ac.jp/pub/apache/hadoop/common/hadoop-2.8.0/hadoop-2.8.0.tar.gz
$ tar zxfv hadoop-2.8.0.tar.gz
環境変数設定
HADOOP_HOMEを環境変数に設定します。
$ echo "export HADOOP_HOME=/home/`whoami`/hadoop-2.8.0" >> ~/.bashrc
$ source ~/.bashrc
HDFS初期化
HDFS(Hadoop Distributed File System)の設定と初期化をします。
疑似分散モードでHDFSを構成します。
HDFSの保存先ディレクトリを作成します。
$ mkdir -p ~/var/lib/hdfs/{name,data}
core-site.xml, hdfs-site.xmlをそれぞれ、以下の内容に書き換えます。
$ vi $HADOOP_HOME/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
$ vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
<value>/home/vagrant</value>
のユーザー名には、環境に合わせてください。
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/vagrant/var/lib/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/vagrant/var/lib/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
初期化コマンド
namenodeを初期化します。
$ $HADOOP_HOME/bin/hadoop namenode -format
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
17/07/19 02:07:00 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: user = vagrant
STARTUP_MSG: host = localhost/127.0.0.1
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 2.8.0
namenodeの起動とhdfsへの接続確認
HDFSを起動します。
$ $HADOOP_HOME/sbin/start-dfs.sh
Starting namenodes on [localhost]
localhost: starting namenode, logging to /home/vagrant/hadoop-2.8.0/logs/hadoop-vagrant-namenode-localhost.localdomain.out
localhost: starting datanode, logging to /home/vagrant/hadoop-2.8.0/logs/hadoop-vagrant-datanode-localhost.localdomain.out
Starting secondary namenodes [0.0.0.0]
The authenticity of host '0.0.0.0 (0.0.0.0)' can't be established.
ECDSA key fingerprint is 24:23:14:32:58:14:91:76:55:91:20:87:e3:dc:30:c7.
Are you sure you want to continue connecting (yes/no)? yes
ちなみに停止は以下です。
$ $HADOOP_HOME/sbin/stop-dfs.sh
HDFSを参照できるか確認します。
この時点ではまだファイルは存在しないので、結果はなくてOKです。
$ $HADOOP_HOME/bin/hadoop fs -ls /
hadoopのインストールはこれで完了です。