いまさら Hadoop.
Spark のローカルストレージとして使うのでメモ。
俺しか使わないのでホームディレクトリに雑にセットアップする。
1. Java を入れる
まだインストールしてなければ↓を参考にして入れる。
Ubuntu 20.04: デフォルトのJavaをOpenJDK8から11に変更する
2. SSH サーバーを入れる
ローカルホストに SSH するという挙動をするので、これまた入ってなければ↓のとおりに SSH server をセットアップ。
3. Hadoop を入れる
Hadoop 公式サイトに行ってファイルをダウンロードしてくる。
今回は 3.3.4 を選んだ。
ダウンロードしたら展開してインストール。
1 2 | tar -zxf hadoop-3.3.4. tar .gz mv hadoop-3.3.4 ~ /hadoop |
.profile に環境変数を追記
1 2 3 4 5 6 7 8 9 10 | #hadoop export HADOOP_HOME=$HOME /hadoop export HADOOP_INSTALL=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export HADOOP_YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME /lib/native export PATH=$PATH:$HADOOP_HOME /sbin :$HADOOP_HOME /bin export HADOOP_OPTS= "-Djava.library.path=$HADOOP_HOME/lib/native" |
追記したら読み込む。
1 | source ~/.profile |
あと、 ~/hadoop/etc/hadoop/hadoop-env.sh に JAVA_HOME 環境変数の追記をする。
1 2 | # $HADOOP_HOME/etc/hadoop/hadoop-env.sh export JAVA_HOME= "/usr/lib/jvm/java-11-openjdk-amd64" |
4. 各設定
データ用のディレクトリを作る。
1 2 | mkdir -p ~ /hadoop/hadoopdata/hdfs/namenode mkdir -p ~ /hadoop/hadoopdata/hdfs/datanode |
そしたら $HADOOP_HOME/etc/hadoop の各 XML ファイルを編集する。
具体的にはそれぞれの configuration 要素の中を直す。
core-site.xml
1 2 3 4 5 6 | < configuration > < property > < name >fs.defaultFS</ name > < value >hdfs://localhost:9000</ value > </ property > </ configuration > |
hdfs-site.xml
下記のファイルパスは正しいものに直す事
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <!-- ファイルパスの orenomemo のところは書き換える --> < configuration > < property > < name >dfs.replication</ name > < value >1</ value > </ property > < property > < name >dfs.name.dir</ name > < value >file:///home/orenomemo/hadoop/hadoopdata/hdfs/namenode</ value > </ property > < property > < name >dfs.data.dir</ name > < value >file:///home/orenomemo/hadoop/hadoopdata/hdfs/datanode</ value > </ property > </ configuration > |
mapred-site.xml
1 2 3 4 5 6 | < configuration > < property > < name >mapreduce.framework.name</ name > < value >yarn</ value > </ property > </ configuration > |
yarn-site.xml
1 2 3 4 5 6 | < configuration > < property > < name >yarn.nodemanager.aux-services</ name > < value >mapreduce_shuffle</ value > </ property > </ configuration > |
5. Hadoop の起動
まずは HDFS を初期化。
これは一回だけやれば OK.
1 | hdfs namenode - format |
色々まとめて起動。
1 | start-all.sh |
終了する時はこれ。
1 | stop-all.sh |
&nbps;