Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
18
Help us understand the problem. What is going on with this article?

More than 3 years have passed since last update.

@Esfahan

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

参考

18
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
18
Help us understand the problem. What is going on with this article?