■ はじめに
https://dk521123.hatenablog.com/entry/2019/12/26/223506
の Linux版。
目次
【0】設定環境 【1】Hadoop のインストール 1)Hadoopのダウンロード 2)Hadoopのインストール 3)環境変数の設定 4)環境変数の有効化 【2】Hadoop のデータ格納先の準備 【3】Hadoop の設定ファイルの修正 【4】SSHの設定 1)OpenSSHのインストール 2)SSH鍵の設定 【5】動作確認 1)コマンドによる確認 2)Web UIによる確認
【0】設定環境
OS : Ubuntu v18.04.3 LTS (Bionic Beaver) Java : openjdk version "1.8.0_232" Hadoop : v3.2.1
【1】Hadoop のインストール
1)Hadoopのダウンロード
以下のサイトからHadoopをダウンロードする => 今回は、「hadoop-3.2.1.tar.gz」
http://ftp.kddilabs.jp/infosystems/apache/hadoop/common/
以下のコマンドでもできる。 === wget https://downloads.apache.org/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz ===
2)Hadoopのインストール
任意の場所に解凍する cd /opt sudo tar xvzf ~/hadoop-3.2.1.tar.gz # hadoopディレクトリの権限設定 cd /opt/hadoop-3.2.1 sudo chown -R user:user /opt/hadoop-3.2.1
3)環境変数の設定
readlink -f /usr/bin/javac | sed "s:/bin/javac::" /usr/lib/jvm/java-8-openjdk-amd64 sudo vi /etc/profile.d/java.sh sudo vi /opt/hadoop-3.2.1/etc/hadoop/hadoop-env.sh sudo vi /etc/profile.d/hadoop.sh
/etc/profile.d/java.sh
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
/opt/hadoop-3.2.1/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
/etc/profile.d/hadoop.sh
export HADOOP_HOME=/opt/hadoop-3.2.1 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
4)環境変数の有効化
source /etc/profile.d/java.sh source /etc/profile.d/hadoop.sh
【2】Hadoop のデータ格納先の準備
任意の場所に、DataNode、NameNode用のファルダを作成する。
NameNode用
sudo mkdir -p /var/data/hadoop/hdfs/namenode
DataNode用
sudo mkdir -p /var/data/hadoop/hdfs/datanode sudo chown -R user:user /var/data/hadoop/hdfs
log
sudo mkdir -p /var/log/hadoop/yarn sudo chown -R user:user /var/log/hadoop/yarn
【3】Hadoop の設定ファイルの修正
%HADOOP_HOME%\etc\hadoop 配下にあるファイルを修正する (不安な場合は、ファイルを一旦バックアップをしてから行う) vi /opt/hadoop-3.2.1/etc/hadoop/hdfs-site.xml vi /opt/hadoop-3.2.1/etc/hadoop/core-site.xml vi /opt/hadoop-3.2.1/etc/hadoop/mapred-site.xml vi /opt/hadoop-3.2.1/etc/hadoop/yarn-site.xml
/opt/hadoop-3.2.1/etc/hadoop/hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/var/data/hadoop/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/var/data/hadoop/hdfs/datanode</value> </property> </configuration>
/opt/hadoop-3.2.1/etc/hadoop/core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
/opt/hadoop-3.2.1/etc/hadoop/mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
/opt/hadoop-3.2.1/etc/hadoop/yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> </configuration>
【4】SSHの設定
1)OpenSSHのインストール
# 一旦、アンインストール sudo apt-get remove openssh-client openssh-server # インストール sudo apt-get install openssh-client openssh-server
2)SSH鍵の設定
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
【5】動作確認
1)コマンドによる確認
以下をコマンドを順番に行い、エラーがでないことを確認する # 1 hadoop version # 2 hadoop -help # 3 hdfs namenode -format # 4 start-dfs.sh # stop-dfs.shで停止 stop-dfs.sh # 5 start-yarn.sh # stop-yarn.shで停止 stop-dfs.sh # 6(※stopせずにそのまま) start-all.sh
2)Web UIによる確認
ブラウザで以下のURLを確認
Resource Manager
http://localhost:8088/
Node Manager
http://localhost:8042/
Name Node (Hadoop v3系の場合)
http://localhost:9870/
トラブルシューティング
うまく繋がらなかった際のトラブルシューティングを 以下の関連記事にまとめた。
Hadoop / Hive 環境構築時のトラブルシューティング
https://dk521123.hatenablog.com/entry/2021/02/12/160221
参考文献
https://toritakashi.com/?p=727
https://qiita.com/nyapori/items/6783838739e27ab328b2
https://code-macchiato.com/post/learning-hadoop-1-installation
https://www.atmarkit.co.jp/ait/articles/1701/01/news014.html
関連記事
Apache Hive ~ 環境設定 / Linux編 ~
https://dk521123.hatenablog.com/entry/2020/01/02/000000
Apache Hadoop ~ 環境設定 / Windows編 ~
https://dk521123.hatenablog.com/entry/2019/12/26/223506
Apache Hive ~ 環境設定 / Windows編 ~
https://dk521123.hatenablog.com/entry/2019/12/28/021109
Docker Desktop / WSL2 ~ Windows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2020/12/08/165505
Amazon EMR ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/02/20/230519
Hadoop / Hive 環境構築時のトラブルシューティング
https://dk521123.hatenablog.com/entry/2021/02/12/160221