
これは、MacOSにApache Hadoop3をインストールおよび構成するための完全なガイドです。 私はあなたがあなたのMacでそれを作ることができるように最も簡単な方法で行う方法をあなたに示すでしょう。
記事の内容
なぜ別のHadoopインストールチュートリアル?
以前はLinuxを使用してHadoopバージョン2.6以下で作業していましたが、セットアップは非常に簡単です。 しかし、現時点では、いくつかの作業を開発し、最新のHadoopバージョンで作業する必要があるため、Macでセットアップを行う必要があります。Apache Hadoop3.2.1;だから、Linuxのようにいつものようにインストールしようとしました。 しかし、それは動作しませんでした!
問題は、この記事の執筆時点では、Mac上でHadoopバージョン3+を設定することに関する単一の記事を見つけることができないことです。 私が見つけることができるのは、Hadoop以前のバージョンの記事だけです。 手順は同じであることになっている、あなたは尋ねるかもしれませんか? はい、確かに、しかし、バージョンの更新には常にいくつかの欠落点があります。
とにかく、Mac上でApache Hadoopバージョン3以降を設定することに問題がある場合は、この記事が解決するのに役立つかもしれません。
前提条件
このガイドでは、Hadoop3.2.1という最新のHadoopバージョンを使用します。
だからここにあなたが持っている必要があるいくつかの原料があります:
- Java8
- Homebrew(Macのデプスの魔術師)
Apache Hadoop3.2のインストールと設定
ステップ1:brewを更新して最新のHadoopをインストール
$ brew install hadoop
コマンドは最新のHadoopバージョンを取得してMacにインストールします。
デフォルトでは、Hadoopインストールディレクトリは/usr/local/Cellar/hadoop/3.2.1
にあります。
その後、この記事を読むと、バージョンが更新され、異なるものになり、場所はバージョンディレクトリ/usr/local/Cellar/hadoop/X.Y.Z
になります。
ステップ2: HADOOP_OPTS環境変数を更新します
このファイル、/usr/local/Cellar/hadoop/3.2.1/libexec/etc/hadoop/hadoop-env.sh
を開き、下部に次の行を追加します:
export HADOOP_OPTS="-Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="
または、export HADOOP_OPTS
の行が見つかった場合は、それを編集できます。
ステップ3:core-siteを更新します。xml
このファイル/usr/local/Cellar/hadoop/3.2.1/libexec/etc/hadoop/core-site.xml
を開き、以下のように更新します。
<configuration> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/Cellar/hadoop/hdfs/tmp</value> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property></configuration>
知っておくべきいくつかの注意事項:
-
hadoop.tmp.dir
: このプロパティは、datanode、namenode、hdfsのストレージなどのローカルHadoop一時データを設定することです…任意のディレクトリに配置できますが、適切な権限を与えてくださ -
fs.defaultFS
: 以前に非推奨になったキーfs.default.name
の新しい名前を指定します。
ステップ4:hdfs-siteを更新します。xml
このファイル/usr/local/Cellar/hadoop/3.2.1/libexec/etc/hadoop/hdfs-site.xml
を開き、以下の設定を追加します。
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property></configuration>
なぜ値が1なのですか? まあ、開発目的のためには、擬似分散モードまたはシングルクラスタモードで十分であり、少なくとも1つのデータノードを持たなければならないので、複製数は1である。
ステップ5:ファイルシステムのフォーマットとテスト
使用する前に分散ファイルシステムを初期化する必要があるので、最初のファイルシ
$ hdfs namenode -format
テストするコマンドをいくつか試してみましょう。 しかし、その前に、以下を含むいくつかのDFSサーバーを起動する必要がありますDataNode
, NameNode
, SecondaryNameNode
次のコマンドを発行することによって:
$ cd /usr/local/Cellar/hadoop/3.2.1/sbin$ ./start-dfs.sh
エラーメッセージ出力がない場合は、以下のコマンドから始めることができます。
$ hdfs dfs -ls /$ hdfs dfs -mkdir /input$ touch data.txt$ echo "Hello Hadoop" >> data.txt$ hdfs dfs -put data.txt /input$ hdfs dfs -cat /input/data.txt
最後のコマンドが上記の内容、つまりHello Hadoop
を表示している場合、正常に動作します。ステップ6:JARパッケージでサンプルMapReduceジョブを実行する
ここで、map-reduceジョブが機能するかどうかを確認する必要があります。 これは、私がhadoop-wordcount Githubリポジトリに置いた指示に従うことで行うことができます。
ステップ7: シェル
のコマンドを設定する代わりにcd
ディレクトリを/usr/local/Cellar/hadoop/3.2.1/sbin
に設定するコマンドを実行するには、グローバルPATH
に設定するだけで、端末やシェルのどこでも呼び出すことができます。
シェル設定ファイルに次の行を追加します。/etc/profile
, ~/.bashrc
, ~/.bash_profile
, ~/.profile
, ~/.zshrc
… お使いの環境に応じて。
私はzshを使用することを好むので、私は私のMac上で~/.zshrc
に入れました。
export PATH=$PATH:/usr/local/Cellar/hadoop/3.2.1/sbin
ステップ7:完全なHadoop startコマンドを構成する
通常、Hadoopのデフォルト設定は、デバッグ/開発目的のためにlocal
フレームワークを使用します。 ローカルマシン上でyarn
フレームワークを使用したい場合は、YARNも起動することができます。:
$ /usr/local/Cellar/hadoop/3.2.1/sbin/start-yarn.sh
ステップ6を実行した場合は、start-yarn.sh
と入力します。
したがって、Hadoop環境では2つのコマンドを実行する必要があり、alias
を使用してそれらを1つのコマンドに組み合わせることができます。
alias hadoop-start="/usr/local/Cellar/hadoop/3.2.1/sbin/start-dfs.sh;/usr/local/Cellar/hadoop/3.2.1/sbin/start-yarn.sh"alias hadoop-stop="/usr/local/Cellar/hadoop/3.2.1/sbin/stop-dfs.sh;/usr/local/Cellar/hadoop/3.2.1/sbin/stop-yarn.sh"
そこに行く、HadoopはあなたのMac上で動作する準備ができています。
結論として
Apache Hadoop3+のセットアップはそれほど複雑には見えません。
しかし、何か問題に直面した場合は、このApache Hadoopのトラブルシューティングを見てみてください。 それはあなたの問題を解決するのに役立つかもしれません。