Apache HadoopまたはHadoopとも呼ばれる、オープンソースのJavaベースのフレームワークであり、コンピューター間で大規模なデータセットの分散処理を可能にします。大規模なデータセットを保存および処理するために使用されます。これにより、1台の大型コンピューターを使用する代わりに、複数のコンピューターをクラスター化してデータをより迅速に保存および処理できます。 Hadoopは、次の4つの主要モジュールで構成されています。
– HDFS(Hadoop分散ファイルシステム)
– YARN(Yet Another Resource Negotiator)
– MapReduce
– Hadoop Common
このチュートリアルでは、Debian11にHadoopをインストールする方法を説明します。
前提条件
- Debian 11
- SSHルートアクセスまたはsudo権限を持つ通常のシステムユーザー
ステップ1.サーバーにログインします
まず、rootユーザーとしてSSH経由でDebian11サーバーにログインします。
ssh root@IP_Address -p Port_number
必要に応じて、「root」をsudo権限を持つユーザーに置き換えます。さらに、「IP_Address」と「Port_Number」をサーバーのそれぞれのIPアドレスとSSHポート番号に置き換えます。
次のコマンドを使用して、サーバーに適切なDebianバージョンがインストールされているかどうかを確認できます。
$ lsb_release -a
次の出力が得られるはずです:
No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye
開始する前に、サーバーにインストールされているすべてのUbuntuOSパッケージが最新であることを確認する必要があります。
これを行うには、次のコマンドを実行します。
$ sudo apt update -y $ sudo apt upgrade -y
ステップ2.システムユーザーを作成してSSHキーを生成する
ルートとしてHadoopを実行することはお勧めできません。そのため、セキュリティ上の理由から、新しいシステムユーザーを作成します。
$ sudo useradd -r hadoop -m -d /opt/hadoop --shell /bin/bash
ユーザー「hadoop」が作成されました。ユーザーとしてログインしましょう。
$ su - hadoop
Hadoopは、リモートノードかローカルノードかに関係なく、ノードを管理するためにsshアクセスを必要とします。パスワードなしでノードにアクセスするには、SSHキーを生成し、公開キーを〜/ .ssh/authorized_keysファイルにコピーします。
$ ssh-keygen -t rsa
このような出力が得られます。
hadoop@debian11:~$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/opt/hadoop/.ssh/id_rsa): Created directory '/opt/hadoop/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /opt/hadoop/.ssh/id_rsa Your public key has been saved in /opt/hadoop/.ssh/id_rsa.pub The key fingerprint is: SHA256:QYHlb6Is9n05OtnR+6i71t4MZeN9gVqGVCoa28aiUXg hadoop@debian11.rosehosting.com The key's randomart image is: +---[RSA 3072]----+ | o+. . | | oo o | | . Eo. o | | o *oo . . | | . +S+oo ++. | | .o.oo. =+ o.| | o.o o =... o| | . o .o * o= .| | . o=+*o.+ | +----[SHA256]-----+
次に、hadoopの公開キーを承認済みキーファイルに追加して、ユーザー「hadoop」がパスワードなしでシステムにログインし、SSHキーのみを使用できるようにします。
$ cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
今すぐSSH経由でシステムにログインします。
$ ssh localhost
これで、パスワードなしでSSHにログインできるようになります。
ユーザー「hadoop」を終了して、次の手順に進みましょう。
$ exit
ステップ3.Javaをインストールします
HadoopはJavaで記述されているため、Hadoopを実行できるようにするには、システムにJavaが必要です。以下のコマンドを実行して、リポジトリからJava用のデフォルトのJDKをインストールしましょう。
$ sudo apt install default-jdk default-jre -y
これでJavaがインストールされます。次のコマンドを呼び出すことで、Javaを確認および確認できます。
$ sudo java -version
ステップ4.Hadoopをダウンロードしてインストールする
この記事を書いている時点で、Hadoopの最新の安定バージョンはバージョン3.3.2です。 https://hadoop.apache.org/releases.htmlのダウンロードページにアクセスして、最新バージョンがある場合はそれを確認できます。
ユーザー「hadoop」としてログインしてダウンロードして解凍します。ファイルとディレクトリの権限を変更する必要はありません。
$ su - hadoop $ wget https://dlcdn.apache.org/hadoop/common/hadoop-3.2.3/hadoop-3.2.3.tar.gz -O hadoop-3.2.3.tar.gz $ tar -xzvf hadoop-3.2.3.tar.gz -C /opt/hadoop --strip-components=1
次の手順に進む前に、 JAVA_HOMEを確認してください。 が正しいディレクトリを指している場合は、/ usr / lib / jvm
をリストして確認できます。$ ls /var/lib/jvm
それでは、/ opt / hadoop / .bashrc
$ nano /opt/hadoop/.bashrc
次の行をファイルに挿入します。
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export HADOOP_HOME=/opt/hadoop export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
ファイルを保存して終了し、以下のコマンドを実行して、新しく追加された環境変数をアクティブにします。
$ source ~/.bashrc
ステップ5.Hadoopを構成する
Hadoopは、シングルノードまたはマルチノードクラスターで実行するように構成できます。このチュートリアルでは、Hadoopシングルノードクラスターまたは疑似分散モードをセットアップする方法を示します。このステップで変更する必要のあるファイルがいくつかあります。それでは、最初にHadoop環境ファイルを編集しましょう。
$ nano /opt/hadoop/etc/hadoop/hadoop-env.sh
次の行をファイルに追加します。
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
core-site.xmlファイルを編集します。
$ nano /opt/hadoop/etc/hadoop/core-site.xml
これらの行を構成タグに追加します。
<property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property>
hdfs-site.xmlファイルを編集する
$ nano /opt/hadoop/etc/hadoop/hdfs-site.xml
これらの行を構成タグに追加します。
<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/opt/hadoop/hadoop_tmp/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/opt/hadoop/hadoop_tmp/hdfs/datanode</value> </property>
CTRL + Oを押してファイルを保存し、CTRL+Xで終了します
ヤーンサイト.xmlファイルを編集する
$ nano /opt/hadoop/etc/hadoop/yarn-site.xml
これらの行を構成タグに追加します。
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property>
最後に変更するファイルはmapred-site.xmlです。
$ nano /opt/hadoop/etc/hadoop/mapred-site.xml
これらの行を構成タグに追加します。
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
ファイルを保存してから、nanoエディターを終了することを忘れないでください。
上記のファイルは変更されています。いくつかのディレクトリを作成し、次のコマンドを実行する必要があります:
$ mkdir -p /opt/hadoop/hadoop_tmp/hdfs/{namenode,datanode}
Hadoopサービスを初めて開始する前に、ネームノードをフォーマットする必要があります。
$ hdfs namenode -format
namenodeとdatanodeを開始します
$ start-dfs.sh
この警告メッセージが表示された場合:
Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
これは、サーバーOSが64ビットであるが、Hadoopネイティブライブラリが32ビットであることを意味します。これは予想されることであり、警告は無視してかまいません。慣れていない場合は、Hadoopソースファイルをダウンロードしてからコンパイルして、64ビットの共有ライブラリを入手できます。
それでは、YARNリソースとノードマネージャーを起動しましょう。
$ start-yarn.sh
最後のコマンドは、次のコマンドを実行します:
$ jps
次のような出力が得られます:
106129 SecondaryNameNode 108050 Jps 105877 NameNode 106375 ResourceManager 105960 DataNode 106458 NodeManager
今。 http:// YOUR_SERVER_IP_ADDRESS:9870 /にアクセスして、namenode、datanodeなどを確認できます。
YARN Webポータルを確認するには、http:// YOUR_SERVER_IP_ADDRESS:8088 /
それでおしまい。これで、Debian11VPSにHadoopが正常にインストールおよび構成されました。
もちろん、マネージドDebianサーバーがあれば、Debian11にHadoopをインストールする必要はありません。サポートチームにDebian11にHadoopをインストールするよう依頼するだけです。それらは24時間年中無休で利用可能であり、インストールを支援することができます。
PS。 Debian 11にHadoopをインストールする方法に関するこのブログ投稿を読んで楽しんだ場合は、以下のショートカットを使用してソーシャルネットワークで共有するか、コメントセクションにコメントを残してください。ありがとう。