LoginSignup
17
18

More than 5 years have passed since last update.

Apache Hadoopのインストール手順

Last updated at Posted at 2017-07-20

概要

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のインストール手順

参考

17
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
18