VMware + Ubuntu18.04 による Hadoop クラスタ環境の構築に関するグラフィック チュートリアル

VMware + Ubuntu18.04 による Hadoop クラスタ環境の構築に関するグラフィック チュートリアル

序文

このチュートリアルは、学校のビッグデータ実験に基づいています。チュートリアルを設定している間、ブロガーはコマンド実行結果のスクリーンショットを撮りました。図書館で環境を設定してブログを書くのに約3時間かかりました。長時間パソコンを見ていると目が傷む可能性があるので、目の保護に注意し、目のエクササイズを行う必要があります。何かを学んだ人が私に賛同してくれることを願っています!

ここに画像の説明を挿入


VMware クローン仮想マシン (準備、3 台の仮想マシンのクローン、1 台のマスターと 2 台のノード)

  1. まず仮想マシンのシステムをシャットダウンします
  2. 仮想マシンを右クリックし、[管理] をクリックして、[クローン] を選択します。

ここに画像の説明を挿入

3. 「次へ」をクリックし、「完全クローン」を選択して、パスを選択します。

ここに画像の説明を挿入
ここに画像の説明を挿入

ここに画像の説明を挿入


1. Hadoop ユーザーを作成する (マスター、ノード 1、ノード 2 で実行)

以下のコマンドを順番に実行します

1. Hadoopユーザーを作成する

sudo useradd -m hadoop -s /bin/bash

ユーザーパスワードを設定する(2回入力)

sudo パスワード hadoop

権限を追加する

sudo adduser hadoop sudo

hadoop ユーザーに切り替えます (ここで設定した hadoop パスワードを入力します)

スハドゥープ

スクリーンショット表示を実行する(マスター仮想マシンを例に挙げる)

ここに画像の説明を挿入


2. apt ダウンロード ソースを更新する (マスター、ノード 1、ノード 2 で実行)

sudo apt-getアップデート

スクリーンショット表示(マスターを例に)

ここに画像の説明を挿入

3. SSHをインストールし、SSHパスワードフリーログインを構成する(マスター、ノード1、ノード2で実行)

1. SSHをインストールする

sudo apt-get で openssh-server をインストールします

2. SSHパスワードフリーログインを設定する

ssh ローカルホスト
出口 
cd ~/.ssh/ 
ssh-keygen -t rsa #Enter キーを押し続けます cat ./id_rsa.pub >> ./authorized_keys

3. パスワード不要の認証

ssh ローカルホスト
出口 
cd ~/.ssh/ 
ssh-keygen -t rsa #Enter キーを押し続けます cat ./id_rsa.pub >> ./authorized_keys

スクリーンショット表示(マスターを例に)

ここに画像の説明を挿入


4. Java環境をインストールする(マスター、ノード1、ノード2で実行)

1. JDK環境パッケージをダウンロードする

sudo apt-get で default-jre と default-jdk をインストールします

2. 環境変数ファイルを設定する

vim ~/.bashrc

3. ファイルの最初の行に追加する

JAVA_HOME=/usr/lib/jvm/default-java をエクスポートします。

4、。環境変数を有効にする

ソース ~/.bashrc

5. 検証

java バージョン

スクリーンショット表示(マスターを例に)

ここに画像の説明を挿入

ホスト名を変更する(マスター、ノード1、ノード2で実行)

1. ファイル内の元のホスト名を削除し、master に master を書き込み、node1 に node1、node2 を書き込みます... (同様に)

sudo vim /etc/ホスト名

3つのサーバーを再起動します

リブート

再起動が成功したら、再度セッションに接続し、ホスト名が変更されていることを確認します。

スクリーンショットの表示(node1を例に)

ここに画像の説明を挿入


IP マッピングを変更する (マスター、ノード 1、ノード 2 で実行)

各仮想マシンのIPアドレスを表示する

ifconfig -a

エラーがある場合は、net-toolsをダウンロードして再度実行して確認してください。

sudo apt インストール net-tools

下の図に示すように、赤いボックスはこの仮想マシンのIPアドレスです。
ここに画像の説明を挿入

3つの仮想マシンはすべて、互いのIPアドレスをホストファイルに追加する必要があります。

sudo vim /etc/hosts

スクリーンショットを示すためにマスターを例に挙げます
ここに画像の説明を挿入


他のノードへのSSHパスワードフリーログイン(マスター上で実行)

マスターで実行

cd ~/.ssh 
rm ./id_rsa* # 以前に生成された公開鍵を削除します(ある場合)
ssh-keygen -t rsa # Enter キーを押し続けます cat ./id_rsa.pub >> ./authorized_keys
scp ~/.ssh/id_rsa.pub hadoop@node1:/home/hadoop/
scp ~/.ssh/id_rsa.pub hadoop@node2:/home/hadoop/ 

ここに画像の説明を挿入

ノード1とノード2の両方で、

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub # 使用後は削除してください

ここに画像の説明を挿入

パスワードなしのログインを確認する

ssh ノード1
出口
ssh ノード2
出口

スクリーンショットを示すためにマスターを例に挙げます

ここに画像の説明を挿入


hadoop3.2.1をインストール(マスターで実行)

一部のミラーのダウンロード URL が無効であるため、公式サイトのダウンロード アドレスを次に示します。

ダウンロードURL: hadoop3.2.1ダウンロードURL

ダウンロード後、VMware-Tools経由でマスターの/home/hadoopにアップロードします。

ここに画像の説明を挿入
解凍

cd /home/hadoop
sudo tar -zxf hadoop-3.2.1.tar.gz -C /usr/local #解凍 cd /usr/local/
sudo mv ./hadoop-3.2.1/ ./hadoop # フォルダ名をhadoopに変更します
sudo chown -R hadoop ./hadoop # ファイルの権限を変更する

確認する

cd /usr/local/hadoop
./bin/hadoop バージョン

ここに画像の説明を挿入


Hadoop 環境を構成する (この手順は非常に慎重に行う必要があります)

環境変数の設定

vim ~/.bashrc

最初の行に書いてください

HADOOP_HOME=/usr/local/hadoop をエクスポートします。
エクスポート PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

構成を効果的にする

ソース ~/.bashrc

ファイルディレクトリを作成します(次のXMLを準備するため)

cd /usr/local/hadoop
mkdir dfs
cd dfs
mkdir 名前 データ tmp
cd /usr/local/hadoop
mkdir tmp

Hadoop の Java 環境変数を設定する

vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
vim $HADOOP_HOME/etc/hadoop/yarn-env.sh

両方の最初の行を書いてください

JAVA_HOME=/usr/lib/jvm/default-java をエクスポートします。

(マスター内)ノードを構成する

cd /usr/local/hadoop/etc/hadoop

元のローカルホストを削除します。ノードが2つあるので、これら2つのノードの名前を

vimワーカー
ノード1
ノード2

core-site.xml を構成する

vim コアサイト.xml

名前ノードは1つしかないため、fs.defaultFsの代わりにfs.default.nameを使用します。

次に、/usr/local/hadoop/tmpディレクトリが存在することを確認します。

<構成>
 <プロパティ>
 <name>fs.default.name</name>
 <値>hdfs://マスター:9000</値>
 </プロパティ>
 
 <プロパティ>
 <name>hadoop.tmp.dir</name>
 <値>/usr/local/hadoop/tmp</値>
 </プロパティ>
</構成>

hdfs-site.xml を構成する

vim hdfs-site.xml

dfs.namenode.secondary.http-address ポートがcore-site.xmlのポートと同じでないことを確認してください。同じでないと占有が発生する可能性があります。

/usr/local/hadoop/dfs/name :/usr/local/hadoop/dfs/data が存在することを確認してください

ノードが2つしかないため、dfs.replicationは2に設定されています。

<構成>
 <プロパティ>
 <name>dfs.namenode.secondary.http-address</name>
 <value>マスター:9001</value>
 </プロパティ>
 
 <プロパティ>
 <name>dfs.namenode.name.dir</name>
 <値>ファイル:/usr/local/hadoop/dfs/name</値>
 </プロパティ>
 
 <プロパティ>
 <name>dfs.datanode.data.dir</name>
 <値>ファイル:/usr/local/hadoop/dfs/data</値>
 </プロパティ>
 
 <プロパティ>
 <name>dfs.replication</name>
 <値>2</値>
 </プロパティ>
</構成>

mapred-site.xml を構成する

vim mapred-site.xml
<構成>
 <プロパティ> 
 <name>mapreduce.framework.name</name>
 <value>糸</value>
 </プロパティ>
</構成>

yarn-site.xml を設定する

vim 糸サイト.xml
<構成>
 <プロパティ>
 <name>yarn.resourcemanager.ホスト名</name>
 <value>マスター</value>
 </プロパティ>
 
 <プロパティ>
 <name>yarn.nodemanager.aux-services</name>
 <値>mapreduce_shuffle</値> 
 </プロパティ>
 
 <プロパティ>
 <name>yarn.nodemanager.vmem-check-enabled</name>
 <値>偽</値>
 </プロパティ>
</構成>

Hadoopを圧縮する

/usr/local に移動します
tar -zcf ~/hadoop.master.tar.gz ./hadoop #圧縮 cd ~

ノード1にコピー

scp ./hadoop.master.tar.gz node1:/home/hadoop

ノード2にコピー

scp ./hadoop.master.tar.gz node2:/home/hadoop

ノード1とノード2で解凍する

sudo rm -r /usr/local/hadoop # 古いものを削除します(存在する場合)
sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local #解凍 sudo chown -R hadoop /usr/local/hadoop #権限の変更

初めて起動するときは、マスターノードで NameNode をフォーマットする必要があります。

hdfs ネームノード -フォーマット

(注: NameNode を再フォーマットする必要がある場合は、まず元の NameNode と DataNode の下にあるすべてのファイルを削除する必要があります。...

#上記のテキストを参照してください。直接コピーしないでください。rm -rf $HADOOP_HOME/dfs/data/*
rm -rf $HADOOP_HOME/dfs/名前/*

開始(マスター上で実行)

すべて開始.sh
mr-jobhistory-daemon.sh 履歴サーバーを起動します

マスターでは、警告は影響しません

jps

スクリーンショット表示を実行する

ここに画像の説明を挿入


Hadoop クラスターをシャットダウンする (マスターで実行)

すべて停止.sh
mr-jobhistory-daemon.sh 履歴サーバーを停止します

スクリーンショット表示を実行する

ここに画像の説明を挿入


要約する

環境の設定は比較的時間のかかる作業です。自分で行うと、Linux コマンドに慣れていない、さまざまなエラーが発生する、実行結果が一貫していないなど、多くの問題が発生する可能性があります。ただし、通常はインターネット上で対応する解決策を見つけることができます。新しいテクノロジーを学ぶには、勇気を出して挑戦し、失敗して、それをまとめる必要があります。そうすることで、問題解決のための独自の論理的枠組みを形成し、知識の枠組みの形成を強化できます。さあ、始めましょう!

VMware + Ubuntu 18.04 で Hadoop クラスター環境を構築する方法に関するグラフィック チュートリアルはこれで終了です。VMware Ubuntu で Hadoop クラスターを構築する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • VMware Workstation Pro 16 グラフィックチュートリアル (CentOS8 仮想マシン クラスタの構築)
  • 擬似分散グラフィックを実現するための VMware 構成 Hadoop チュートリアル
  • VMware 仮想マシンに hadoop1.x をインストールする方法
  • VMware12 の 3 つの仮想マシンを使用して Ubuntu16.04 システムで hadoop-2.7.1+hbase-1.2.4 (完全分散) を構築する詳細な説明

<<:  ハイパーリンクのWebデザイン原則

>>:  画像をラベルとして使用すると、IE では for 属性が機能しません。

推薦する

MySQL インデックス プッシュダウン (ICP) の簡単な理解と例

序文Index Condition Pushdown (ICP) は、MySQL 5.6 の新機能で...

MySQLの大規模テーブル最適化ソリューションについての簡単な説明

背景Alibaba Cloud RDS for MySQL(MySQL バージョン 5.7)データベ...

CocosCreatorメッセージ配信メカニズムの詳細な説明

概要この記事は、ゲームビジネスアーキテクチャに関連するコンテンツの紹介から始まります。ゲームビジネス...

JavaScript 配列のマージのケーススタディ

方法1: var a = [1,2,3]; var b = [4,5] b を連結します。 コンソー...

Vueタブとキャッシュページを切り替えるいくつかの方法

目次1. 切り替え方法2. タブを動的に生成する3. キャッシュコンポーネント3.1 キープアライブ...

MySQL でのストアド プロシージャと関数の作成の詳細な説明

目次1. ストアドプロシージャ1.1. 基本構文1.2 実行権限を指定してストアドプロシージャを作成...

Windows10 HomeバージョンにDockerをインストールするときに発生する問題の概要

Docker ダウンロード アドレス: http://get.daocloud.io/#instal...

MySQL データベースの一般的な基本操作の分析 [データベースの作成、表示、変更、削除]

この記事では、例を使用して、MySQL データベースの一般的な基本操作について説明します。ご参考まで...

Linuxターミナルでの一般的なMySQL操作コマンドの詳細な説明

仕える: # chkconfig --list すべてのシステム サービスを一覧表示します # ch...

クロスオリジン画像リソース権限(CORS 対応画像)

HTML 仕様書では、画像の crossorigin 属性が導入されています。適切なヘッダー情報 ...

WeChat アプレットのカスタム スクロール ビューのサンプル コード

ミニプログラムカスタムスクロールビュースクロールバーさっそくレンダリングを見てみましょうレンダリング...

Alibaba Cloud に MySQL データベースをインストールするときに発生する 2002 エラーを解決する方法

データベースのインストール中に次のエラーが発生しました: 解決策は次のとおりです。 1. binディ...

Vueはキャンバスを使用して画像圧縮アップロードを実現します

この記事では、キャンバスを使用して画像圧縮アップロードを実現するVueの具体的なコードを参考までに共...

JavaScript エラー処理 try..catch...finally + は throw+TypeError+RangeError をカバーします

目次1. 目的2. 文法3. 練習する1. 目的通常、エラーが発生すると、スクリプトは直ちに停止し、...

jQuery はラブエフェクトをクリックする

この記事では、jQueryのクリック時のラブエフェクトの具体的なコードを参考までに共有します。具体的...