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