Apache Hadoopのインストール手順


概要

Apache Hadoop と Hive のインストール手順です。
それぞれ別記事に分けて書きます。

目次

  1. Apache Hadoopのインストール手順
  2. Apache Hiveのインストール手順
  3. 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
/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
$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> のユーザー名には、環境に合わせてください。

$HADOOP_HOME/etc/hadoop/hdfs-site.xml
<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のインストールはこれで完了です。

次項:Apache Hiveのインストール手順

参考