この前までApache Sparkを使ったお仕事をしていましたが、
今度はHadoopをそのまま使ったお仕事になりそう。
ということで、何はともあれ動かしてみようと思います。
ただ、サイトで検索すると大体がlinuxやmacでの使用方法ばかりだったので、
windowsでサクッと動かしてみたメモを書いておこうと思います。
公式サイトからHadoopをダウンロード
Hadoopプロジェクトサイトからディストリビューションをダウンロードします。
サイトを開いたら、どのリンクでもよいのでリンク先に遷移して、
hadoop-2.8.5のリンクへ遷移し、hadoop-2.8.5.tar.gzをダウンロードして
任意の場所に解凍します。
JDKダウンロード
Java SDKダウンロードページからSDKをダウンロードします。
インストーラであればそのままインストールして、
アーカイブであれば任意の場所に解凍します。
環境変数設定
HadoopとJDKの環境変数を以下のように設定します。
HADOOP_HOME ⇒ Hadoopを解凍して作成されたフォルダパス
例) C:\temp\hadoop-2.8.5
JAVA_HOME ⇒ jdkのインストールパス
例)C:\Program Files\Java\jdk1.8.0_231
一旦動作確認
とりあえずここまでで動作確認します。
簡単な「version」コマンドで実行してみましょう。
%HADOOP_HOME%\bin\hadoop version
この結果でHadoopのversionが表示されればOKです。
wordcountを動かしてみよう
必要資材の取得
よく入門サイトにあるwordcountを動かしてみましょう。
wordcountはhadoop-examples.jarに存在するようですが、
実行対象となる「hadoop-examples.jar」は、
ダウンロードしたディストリビューションの中には存在しません。
なので、こちらからダウンロードします。
格納先は%HADOOP_HOME%\binにします。
また、windowsでスタンドアロンで実行させるために
winutils.exeとhadoop.dllが必要です。
これらはhadoopのコアのプログラムでOSのシェルコマンド実行に使用されます。
こちらからダウンロードします。
格納先はhadoop-examples.jarと同じく%HADOOP_HOME%\binにします。
※このGitHubでは2.8.3とディレクトリ表示されていますが、
wordcountは問題なく動作します。
入力データ作成
以下のコマンドを実行して、作成されたtext.txtを
%HADOOP_HOME%\bin\inputに格納します。
※inputフォルダは存在しないので、作成します。
echo a a a b c c c > test.txt
実行
以下のコマンドを実行してみましょう。
%HADOOP_HOME%\bin\hadoop jar %HADOOP_HOME%\bin\hadoop-examples.jar wordcount %HADOOP_HOME%\bin\input %HADOOP_HOME%\bin\output
%HADOOP_HOME%\bin\outputフォルダに結果が出力されます。
例)part-r-00000
このファイルに
a 2 b 1 c 3
このような形で出力されているはずです。
また、出力フォルダは存在するとエラーになりますので、
注意してください。
コマンドの形式はとなります
hadoop <jarパス> <実行クラス名> <インプットフォルダ> <アウトプットフォルダ>
まとめ
とりあえず環境を整えサラッと実行するまでの手順でした。
近々、今度は自分でMapReduceをプログラムして
実行してみたいと思います。
それでは!!
20代前半までは東京で音楽をやりながら両手の指以上の業種でアルバイト生活をしていましたが、某大手プロバイダのテレアポのバイトでPCの知識の無さに愕然とし、コンピュータをもっと知りたい!と思ったことをきっかけに25歳の時にITの世界に未経験で飛び込みました。
紆余曲折を経て、現在は個人事業主としてお仕事させていただいており、10年ほどになります。
web制作から企業システム構築、ツール開発など、フロントエンドもバックエンドもサーバーもDBAも依頼があれば何でもやってきた雑食系エンジニアです。
今風にいうとフルスタックエンジニアということになるのでしょうか??
→ 詳細プロフィールというか、生い立ちはこちら
→スキルシートをご覧になる場合はこちら
→お仕事のご依頼やお見積りなどお問い合わせはこちらから!