Ubuntu上でHadoopを動かしたい~環境構築~
今回の目的
参考ページ
Apache Hadoop 2.5.0 セットアップ手順 その1 – ローカル実行からシングルノードクラスター起動まで
作業内容
インストール環境
- virtualbox
- Ubuntu18.04
- Hadoop ver3.1.1
Javaのインストール
Javaのインストールを行う。今回はOpenJDKをインストール
$sudo apt-get update $sudo apt-get install -y default -jdk
インストールが終わったら、javaのバージョンを確認
Openjdk version "10.0.2" 2018-07-17 OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2) OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2, mixed mode)
Hadoopのインストール
参考ページのHadoopは古いバージョンだったので、ver 3.1.1をインストール
$wget http://ftp.riken.jp/net/apache/hadoop/common/hadoop-3.1.1/hadoop-3.1.1.tar.gz
バージョンを変更したらダウンロードはできたみたい
次はzipファイルの解凍をします。ディレクトリをどこにしようか悩んだけど、新しいディレクトリ作ってそこに入れてみることにします
$pwd /home/"user_name" $mkdir Hadoop $ls examples.desktop ダウンロード デスクトップ ビデオ ミュージック hadoop-3.1.1.tar.gz テンプレート ドキュメント ピクチャ 公開 $mv hadoop-3.1.1.tar.gz Hadoop/
$pwd /home/"username" $tar xvfz hadoop-3.1.1.tar.gz $ls hadoop-3.1.1 hadoop-3.1.1.tar.gz
次の手順「コマンドのディレクトリへパスを通します」何を言っているのかわからんのです。とりあえずやってみた
$pwd /home/"username" $sudo vi /ect/profile
結論:できなかった ので、emacsをインストールしてそちらで起動してみることにした
$sudo apt install emacs25 $emacs ~/.profile
なんか開いたんで、最終行にパッチを追記(?)してみる
・・・ export PATH=/home/"username"/Hadoop/hadoop-3.1.1/bin $source ~/.profile
次はJAVA_HOMEをhadoop-envに指定します(これもよくわからん)
$pwd /home/”username”/Hadoop/hadoop-3.1.1/etc/hadoop $emacs hadoop-env.sh
#/etc/hadoop/hadoop-env.sh #set to the root of your Java installation export JAVA_HOME=/usr/lib/jvm/default-java
追記が完了したらhadoopコマンドを実行
$hadoop Usage: hadoop [OPTIONS] SUBCOMMAND [SUBCOMMAND OPTIONS] or hadoop [OPTIONS] CLASSNAME [CLASSNAME OPTIONS] where CLASSNAME is a user-provided Java class OPTIONS is none or any of: --config dir Hadoop config directory --debug turn on shell script debug mode --help usage information buildpaths attempt to add class files from build tree hostnames list[,of,host,names] hosts to use in slave mode hosts filename list of hosts to use in slave mode loglevel level set the log4j level for this command workers turn on worker mode SUBCOMMAND is one of: Admin Commands: daemonlog get/set the log level for each daemon Client Commands: archive create a Hadoop archive checknative check native Hadoop and compression libraries availability classpath prints the class path needed to get the Hadoop jar and the required libraries conftest validate configuration XML files credential interact with credential providers distch distributed metadata changer distcp copy file or directories recursively dtutil operations related to delegation tokens envvars display computed Hadoop environment variables fs run a generic filesystem user client gridmix submit a mix of synthetic job, modeling a profiled from production load jar <jar> run a jar file. NOTE: please use "yarn jar" to launch YARN applications, not this command. jnipath prints the java.library.path kdiag Diagnose Kerberos Problems kerbname show auth_to_local principal conversion key manage keys via the KeyProvider rumenfolder scale a rumen input trace rumentrace convert logs into a rumen trace s3guard manage metadata on S3 trace view and modify Hadoop tracing settings version print the version Daemon Commands: kms run KMS, the Key Management Server SUBCOMMAND may print help when invoked w/o parameters or with -h.
これが表示されたらOKみたい!!!
次にやりたいこと
MapReduceで実際に分析してみたいです