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 属性が機能しません。

推薦する

Linux nohup コマンドの原理と例の分析

nohup コマンドUnix/Linux を使用する場合、通常はプログラムをバックグラウンドで実行す...

この記事では、6つの負荷分散技術の実装方法をまとめます(要約)

ロード バランシングは、サーバー クラスタの展開でよく使用されるデバイスです。マシンのパフォーマンス...

Win10 での MySQL 8.0.20 のインストールと設定のチュートリアル

Win10 システムでの MySQL 8.0.20 のインストールと設定の超詳細なチュートリアルMy...

Dockerコンテナの紹介

Dockerの概要Docker はオープンソースのソフトウェア展開ソリューションです。 Docker...

CSS で「プラス記号」効果を実装するためのサンプルコード

以下に示すプラス記号の効果を実現するには: この効果を実現するには、div 要素だけが必要です。 b...

データ型の判断における js typeof と instanceof の違いと、その開発と使用について

目次1. typeof演算子2. インスタンスオブ演算子3. typeof と instanceof...

Mysql GTID Mha 設定方法

Gtid + Mha + Binlog サーバー構成: 1: テスト環境OS: CentOS 6.5...

Navicat による MySQL パーティショニングの実践

MySQLのパーティショニングは、非常に大きなテーブルを管理するのに役立ちます。MySQLのパーティ...

Docker で Maven プロジェクトをより速くビルドする

目次I. 概要2. 従来の多段階イメージ構築3. Buildkitを使用してイメージをビルドする4....

Echarts は 1 つのグラフ内で異なる X 軸を切り替える機能を実装します (サンプル コード)

レンダリング下の画像のような効果を実現したい場合は、読み続けてアニメーション画像に直接進んでください...

HTML で入力ボックスに純粋な数字のみを入力するように制限する方法

inputボックスを純粋な数字のみに制限する1、onkeyup = "value=valu...

Next.js 入門チュートリアル

目次導入Next.jsプロジェクトを作成するNext.js プロジェクトを手動で作成するcreact...

div が隠しテキストを超え、div 部分の向こうの CSS コードを隠します

隠れる前に:隠れた後: CS: ...コードをコピーコードは次のとおりです。オーバーフロー:非表示;...

Vue Element フロントエンドアプリケーション開発のための従来の JS 処理機能

目次1. 従来のコレクションに対するフィルター、マップ、および削減処理方法2. 再帰処理3. for...

vscode で console.log を書く 2 つの簡単な方法の詳細な説明

(I) 方法 1: 事前にスクリプト タグ内に直接定義します。この HTML ファイルにのみ適用され...