GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04にHadoopをインストールして構成する方法

Hadoopは、マシンのクラスター上で大規模なデータセットを保存および処理するために使用される、無料のオープンソースのJavaベースのソフトウェアフレームワークです。 HDFSを使用してデータを保存し、MapReduceを使用してこれらのデータを処理します。これは、主にデータマイニングと機械学習に使用されるビッグデータツールのエコシステムです。

Apache Hadoop 3.3には、以前のリリースに比べて顕著な改善と多くのバグ修正が含まれています。 Hadoop Common、HDFS、YARN、MapReduceなどの4つの主要コンポーネントがあります。

このチュートリアルでは、Ubuntu 20.04LTSLinuxシステムにApacheHadoopをインストールして構成する方法について説明します。

ステップ1–Javaのインストール

HadoopはJavaで記述されており、Javaバージョン8のみをサポートします。Hadoopバージョン3.3以降は、Java8だけでなくJava11ランタイムもサポートします。

OpenJDK11はデフォルトのaptリポジトリからインストールできます:

sudo apt update 
sudo apt install openjdk-11-jdk

インストールしたら、次のコマンドを使用して、インストールされているJavaのバージョンを確認します。

java -version 

次の出力が得られるはずです:

openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)

ステップ2–Hadoopユーザーを作成する

セキュリティ上の理由から、Hadoopを実行するための別のユーザーを作成することをお勧めします。

次のコマンドを実行して、hadoopという名前の新しいユーザーを作成します。

sudo adduser hadoop 

以下に示すように、新しいパスワードを入力して確認します。

Adding user `hadoop' ...
Adding new group `hadoop' (1002) ...
Adding new user `hadoop' (1002) with group `hadoop' ...
Creating home directory `/home/hadoop' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for hadoop
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] y

ステップ3–SSHキーベースの認証を構成する

次に、ローカルシステムのパスワードなしのSSH認証を構成する必要があります。

まず、次のコマンドを使用して、ユーザーをhadoopに変更します。

su - hadoop 

次に、次のコマンドを実行して、公開鍵と秘密鍵のペアを生成します。

ssh-keygen -t rsa 

ファイル名の入力を求められます。 Enterキーを押すだけで、プロセスが完了します:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Created directory '/home/hadoop/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/hadoop/.ssh/id_rsa
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:QSa2syeISwP0hD+UXxxi0j9MSOrjKDGIbkfbM3ejyIk [email protected]
The key's randomart image is:
+---[RSA 3072]----+
| ..o++=.+        |
|..oo++.O         |
|. oo. B .        |
|o..+ o * .       |
|= ++o o S        |
|.++o+  o         |
|.+.+ + . o       |
|o . o * o .      |
|   E + .         |
+----[SHA256]-----+

次に、生成された公開鍵をid_rsa.pubからauthorized_keysに追加し、適切なアクセス許可を設定します。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 
chmod 640 ~/.ssh/authorized_keys 

次に、次のコマンドを使用してパスワードなしのSSH認証を確認します。

ssh localhost 

既知のホストにRSAキーを追加して、ホストを認証するように求められます。 yesと入力し、Enterキーを押してローカルホストを認証します:

The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is SHA256:JFqDVbM3zTPhUPgD5oMJ4ClviH6tzIRZ2GD3BdNqGMQ.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

ステップ4–Hadoopのインストール

まず、次のコマンドを使用して、ユーザーをhadoopに変更します。

su - hadoop 

次に、wgetコマンドを使用してHadoopの最新バージョンをダウンロードします。

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz 

ダウンロードしたら、ダウンロードしたファイルを抽出します:

tar -xvzf hadoop-3.3.0.tar.gz 

次に、抽出したディレクトリの名前をhadoopに変更します:

mv hadoop-3.3.0 hadoop 

次に、システムでHadoopおよびJava環境変数を構成する必要があります。

〜/ .bashrcを開きます お気に入りのテキストエディタのファイル:

nano ~/.bashrc 

以下の行をファイルに追加します。 dirname $(dirname $(readlink -f $(which java))) command on terminal.

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export HADOOP_HOME=/home/hadoop/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"

Save and close the file. Then, activate the environment variables with the following command:

source ~/.bashrc 

次に、Hadoop環境変数ファイルを開きます。

nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh 

再度、hadoop環境でJAVA_HOMEを設定します。

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

終了したら、ファイルを保存して閉じます。

ステップ5-Hadoopの構成

まず、Hadoopホームディレクトリ内にnamenodeディレクトリとdatanodeディレクトリを作成する必要があります。

次のコマンドを実行して、両方のディレクトリを作成します。

mkdir -p ~/hadoopdata/hdfs/namenode 
mkdir -p ~/hadoopdata/hdfs/datanode 

次に、 core-site.xmlを編集します ファイルを作成し、システムのホスト名で更新します:

nano $HADOOP_HOME/etc/hadoop/core-site.xml 

システムのホスト名に応じて、次の名前を変更します。

XHTML
123456 fs.defaultFS hdfs://hadoop.tecadmin.com:9000

ファイルを保存して閉じます。次に、 hdfs-site.xmlを編集します ファイル:

nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml 

以下に示すように、NameNodeおよびDataNodeディレクトリパスを変更します。

XHTML
1234567891011121314151617 dfs.replication 1 dfs.name.dir file:/// home / hadoop / hadoopdata / hdfs / namenode dfs.data.dir file:/// home / hadoop / hadoopdata / hdfs / datanode

ファイルを保存して閉じます。次に、 mapred-site.xmlを編集します ファイル:

nano $HADOOP_HOME/etc/hadoop/mapred-site.xml 

次の変更を行います:

XHTML
123456 mapreduce.framework.name yarn

ファイルを保存して閉じます。次に、 yarn-site.xmlを編集します ファイル:

nano $HADOOP_HOME/etc/hadoop/yarn-site.xml 

次の変更を行います:

XHTML
123456 yarn.nodemanager.aux-services mapreduce_shuffle

終了したら、ファイルを保存して閉じます。

ステップ6-Hadoopクラスターを開始する

Hadoopクラスターを開始する前。 Namenodeをhadoopユーザーとしてフォーマットする必要があります。

次のコマンドを実行して、HadoopNamenodeをフォーマットします。

hdfs namenode -format 

次の出力が得られるはずです:

2020-11-23 10:31:51,318 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
2020-11-23 10:31:51,323 INFO namenode.FSImage: FSImageSaver clean checkpoint: txid=0 when meet shutdown.
2020-11-23 10:31:51,323 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at hadoop.tecadmin.net/127.0.1.1
************************************************************/

Namenodeをフォーマットした後、次のコマンドを実行してHadoopクラスターを開始します。

start-dfs.sh 

HDFSが正常に開始されると、次の出力が得られるはずです。

Starting namenodes on [hadoop.tecadmin.com]
hadoop.tecadmin.com: Warning: Permanently added 'hadoop.tecadmin.com,fe80::200:2dff:fe3a:26ca%eth0' (ECDSA) to the list of known hosts.
Starting datanodes
Starting secondary namenodes [hadoop.tecadmin.com]

次に、以下に示すようにYARNサービスを開始します。

start-yarn.sh 

次の出力が得られるはずです:

Starting resourcemanager
Starting nodemanagers

jpsコマンドを使用してすべてのHadoopサービスのステータスを確認できるようになりました:

jps 

次の出力に、実行中のすべてのサービスが表示されます。

18194 NameNode
18822 NodeManager
17911 SecondaryNameNode
17720 DataNode
18669 ResourceManager
19151 Jps

ステップ7-ファイアウォールを調整する

これでHadoopが起動し、ポート9870と8088でリッスンします。次に、これらのポートがファイアウォールを通過できるようにする必要があります。

次のコマンドを実行して、ファイアウォールを介したHadoop接続を許可します。

firewall-cmd --permanent --add-port=9870/tcp 
firewall-cmd --permanent --add-port=8088/tcp 

次に、firewalldサービスをリロードして、変更を適用します。

firewall-cmd --reload 

ステップ8-HadoopNamenodeとResourceManagerにアクセスする

Namenodeにアクセスするには、Webブラウザーを開き、URL http:// your-server-ip:9870にアクセスします。次の画面が表示されます。

http://hadoop.tecadmin.net:9870

リソース管理にアクセスするには、Webブラウザーを開き、URL http:// your-server-ip:8088にアクセスします。次の画面が表示されます。

http://hadoop.tecadmin.net:8088

ステップ9-Hadoopクラスターを確認する

この時点で、Hadoopクラスターがインストールおよび構成されます。次に、HadoopをテストするためにHDFSファイルシステムにいくつかのディレクトリを作成します。

次のコマンドを使用して、HDFSファイルシステムにディレクトリを作成しましょう。

hdfs dfs -mkdir /test1
hdfs dfs -mkdir /logs 

次に、次のコマンドを実行して、上記のディレクトリを一覧表示します。

hdfs dfs -ls / 

次の出力が得られるはずです:

Found 3 items
drwxr-xr-x   - hadoop supergroup          0 2020-11-23 10:56 /logs
drwxr-xr-x   - hadoop supergroup          0 2020-11-23 10:51 /test1

また、いくつかのファイルをhadoopファイルシステムに配置します。たとえば、ホストマシンからhadoopファイルシステムにログファイルを配置します。

hdfs dfs -put /var/log/* /logs/  

上記のファイルとディレクトリは、HadoopNamenodeWebインターフェースで確認することもできます。

Namenode Webインターフェイスに移動し、[ユーティリティ]=>[ファイルシステムの参照]をクリックします。前に作成したディレクトリが次の画面に表示されます。

http://hadoop.tecadmin.net:9870/explorer.html

ステップ10-Hadoopクラスターを停止する

stop-dfs.sh を実行することで、HadoopNamenodeおよびYarnサービスをいつでも停止できます。 およびstop-yarn.sh Hadoopユーザーとしてのスクリプト。

Hadoop Namenodeサービスを停止するには、hadoopユーザーとして次のコマンドを実行します。

stop-dfs.sh  

Hadoop Resource Managerサービスを停止するには、次のコマンドを実行します。

stop-yarn.sh 

結論

このチュートリアルでは、Ubuntu20.04LinuxシステムにHadoopをインストールして構成するためのステップバイステップのチュートリアルについて説明しました。


Ubuntu
  1. Ubuntu18.04にRedisをインストールして構成する方法

  2. Ubuntu18.04にRedmineをインストールして設定する方法

  3. Ubuntu18.04にSambaをインストールして設定する方法

  1. Ubuntu20.04にRedisをインストールして構成する方法

  2. Ubuntu20.04にJenkinsをインストールして構成する方法

  3. Ubuntu16.04にAskbotをインストールして構成する方法

  1. Ubuntu14.04にMongoDBをインストールして構成する方法

  2. Ubuntu16.04にSolr6をインストールして構成する方法

  3. Ubuntu16.04にGitLabをインストールして構成する方法