Ubuntu 22.04: Hadoop をインストール

 
いまさら Hadoop.
Spark のローカルストレージとして使うのでメモ。

俺しか使わないのでホームディレクトリに雑にセットアップする。

1. Java を入れる

まだインストールしてなければ↓を参考にして入れる。

Ubuntu 20.04: デフォルトのJavaをOpenJDK8から11に変更する

2. SSH サーバーを入れる

ローカルホストに SSH するという挙動をするので、これまた入ってなければ↓のとおりに SSH server をセットアップ。

Ubuntu 22.04 で SSH サーバーを使う

3. Hadoop を入れる

Hadoop 公式サイトに行ってファイルをダウンロードしてくる。
今回は 3.3.4 を選んだ。

Apache Hadoop Releases

ダウンロードしたら展開してインストール。

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;