"Diary" インターネットさんへの恩返し

いつもソースコードコピペばかりなので,みなさまへ少しばかりの恩返しを

【Ubuntu】Hadoopのインストール~動作確認



スポンサーリンク

HadoopUbuntuに入れて、スタンドアローンモードで、文字列カウントのサンプルを実行するまで。

環境

1.JREのインスト-ル

以下ミス記録なので、「sudo apt-get install default-jre」の箇所までスキップしてください。

こちらからインストーラーのダウンロード。または以下を実行。

$ wget http://javadl.sun.com/webapps/download/AutoDL?BundleId=106239

変なファイル名でDLされている場合は、適切なファイル名に変えてください。

$ mv "AutoDL?BundleId=106239" jre-8u45-linux-x64.rpm


ファイルの移動

$ sudo mv ~/jre-8u45-linux-x64.rpm jre-8u45-linux-x64.rpm


javaのインストール

$ rpm -ivh /usr/local/src/jre-8u45-linux-x64.rpm


なんかエラーがいっぱいでた。

vagrant@vagrant-ubuntu-trusty:/usr/local/src$ rpm -ivh /usr/local/src/jre-8u45-l                             inux-x64.rpm
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing...
error: Failed dependencies:
        /bin/basename is needed by jre1.8.0_45-1.8.0_45-fcs.x86_64
        /bin/cat is needed by jre1.8.0_45-1.8.0_45-fcs.x86_64
        /bin/cp is needed by jre1.8.0_45-1.8.0_45-fcs.x86_64
        /bin/gawk is needed by jre1.8.0_45-1.8.0_45-fcs.x86_64
        /bin/grep is needed by jre1.8.0_45-1.8.0_45-fcs.x86_64
        /bin/ln is needed by jre1.8.0_45-1.8.0_45-fcs.x86_64
        /bin/ls is needed by jre1.8.0_45-1.8.0_45-fcs.x86_64
        /bin/mkdir is needed by jre1.8.0_45-1.8.0_45-fcs.x86_64


http://ubuntuforums.org/showthread.php?t=973444を見るとapt-getで入れろと。
はいそうします。こちらを参照しjavaをインストールします。(かなり時間がかかります1hぐらい)

$ sudo apt-get install default-jre

 ・
 ・
 ・
 ・
Running hooks in /etc/ca-certificates/update.d....
done.
done.

$ java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu0.14.04.2)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

javaのインストールディレクトリの確認

~$ /usr/sbin/update-java-alternatives -l
java-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64

2.Hadoopの準備とインストール

Hadoopユーザ作成。

$ groupadd hadoop
$ useradd -d /home/hadoop -g hadoop -m hadoop
$ passwd hadoop


hadoopダウンロード

$ wget http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/hadoop/common/hadoop-2.7.0/hadoop-2.7.0.tar.gz


解凍&プログラムディレクトリの権限設定。

$ tar xf hadoop-2.7.0.tar.gz
$ sudo mv hadoop-2.7.0 /usr/local/
$ sudo chown hadoop:hadoop -R /usr/local/hadoop-2.7.0/*

環境変数の設定。/etc/profileに以下追加。

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop-2.7.0
export PATH=$HADOOP_INSTALL/bin:$JAVA_HOME/bin:$PATH

ログアウト後、hadoopでログインし、下記を実行しhelpが出るか確認。

$ hadoop
Usage: hadoop [--config confdir] [COMMAND | CLASSNAME]
  CLASSNAME            run the class named CLASSNAME
 or
  where COMMAND is one of:
  fs                   run a generic filesystem user client
  version              print the version
  jar <jar>            run a jar file
                       note: please use "yarn jar" to launch
                             YARN applications, not this command.
  checknative [-a|-h]  check native hadoop and compression libraries availability
  distcp <srcurl> <desturl> copy file or directories recursively
  archive -archiveName NAME -p <parent path> <src>* <dest> create a hadoop archive
  classpath            prints the class path needed to get the
  credential           interact with credential providers
                       Hadoop jar and the required libraries
  daemonlog            get/set the log level for each daemon
  trace                view and modify Hadoop tracing settings

Most commands print help when invoked w/o parameters.

3.テスト

hadoopでログインし、inputディレクトリを作成し、以下のテキスト作成。

$ cd ~
$ mkdir input 
$ cd input
$ vim test.txt

hello, how are you??
I'm fine.

hello, how is it going??
Goood!


テスト実行。

$ hadoop jar /usr/local/hadoop-2.7.0/share/hadoop/mapreduce//hadoop-mapreduce-examples-2.7.0.jar wordcount test.txt output.wordcount


結果確認。

$ cd output.wordcount/
$ view part-r-00000

Goood!  1
I'm     1
are     1
fine.   1
going?? 1
hello,  2
how     2
is      1
it      1
you??   1

次はこちらを見て、開発してみようかな。
EclipseでHadoop2.4の開発環境を作る&ワードカウントのプログラムを作成する。 - 放浪するエンジニアの覚え書き

以上