Linux7 ベースの Hadoop のインストールと構成の詳細なグラフィック説明

Linux7 ベースの Hadoop のインストールと構成の詳細なグラフィック説明

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

上記のように材料を準備します(ps: hadoop-3.1.2-srcはhadoop-3.1.2に変更されます)

ソースファイルの src はどういう意味ですか? とにかく変更しました。下のスクリーンショットに注意してください。間違いがあれば、時間があるときに修正します。

Centos7をインストール

ここに画像の説明を挿入

デスクトップを右クリックしてターミナルを開きます - ifconfigと入力します - ens33のIPアドレスを確認します - 覚えておいてxftp6を開きます

ここに画像の説明を挿入

新規をクリック

ここに画像の説明を挿入

ここに画像の説明を挿入

ここに画像の説明を挿入

複数の材料を選択し、右クリックして転送します。イントラネットの転送速度は速くもなく遅くもありません。

完璧です。

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

hadoopインストールパッケージを解凍します。tar -zxvf hadoop-3.1.2-src.tar.gz

ここに画像の説明を挿入

Centos7を再インストールし、解凍時にフォルダに分割しました

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

上記のように書く

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

xshellを開いて新規作成

ここに画像の説明を挿入

ホストIPを入力し、ユーザー認証にユーザー名とパスワードを入力してください

ここに画像の説明を挿入

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

はい、それです。3台のマシンの名前を変更する必要があります。

ここに画像の説明を挿入

時間同期のタイムゾーンは一貫しています。ホスト時間が正確に設定されるためには、各マシンのタイムゾーンが一貫している必要があります。実験では、ネットワーク時間を同期する必要があるため、最初に同じタイムゾーンを選択する必要があります。まずタイムゾーンが同じであることを確認してください。そうでないと、同期後にタイムゾーンに違いが生じます。 dateコマンドを使用してマシンの時刻を確認できます。タイムゾーンを選択してください: tzselect

ここに画像の説明を挿入

1. ファイアウォールをオフにする

ステータスが dead の場合、ファイアウォールは閉じられます。 ファイアウォールを閉じる: systemctl stop firewalld ステータスを表示する: systemctl status firewalld

2. ホストファイルの設定(3台のマシン)各ノードのIPアドレスを以下のように入力します。

ここに画像の説明を挿入

3. マスターは NTP サーバーとして機能し、NTP 構成ファイルを変更します。 (マスター上で実行)

vi /etc/ntp.conf
	サーバー 127.127.1.0 # ローカルクロック
	fudge 127.127.1.0 stratum 10 #stratumを他の値に設定することも可能です。範囲は0〜15です。 

ここに画像の説明を挿入

	ntp サービスを再起動します。
	/bin/systemctl ntpd.service を再起動します

	他のマシンが同期する(スレーブ1、スレーブ2)
	約 5 分間待ってから、他のマシンのマスター サーバーの時間を同期します。
	ntpdate マスター

	構成プラットフォームに外部ネットワーク接続がない場合は、次のコマンドを入力して 3 台のマシンを同じ時刻に設定できます。
	日付 -s 10:00 (時刻) 

ここに画像の説明を挿入

ようやく本題に入りましたか? ? ?慌てないで。

1. パスワードなしのSSH

(1)各ノードは公開鍵と秘密鍵を生成する。

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa (3 台のマシン)
キー生成ディレクトリは、ユーザーのホーム ディレクトリの下の .ssh ディレクトリにあります。表示するには、対応するディレクトリを入力します。
cd .ssh/

ここに画像の説明を挿入

(2) id_dsa.pub は公開鍵、id_dsa は秘密鍵です。公開鍵ファイルを authorized_keys ファイルにコピーします。(マスターのみ)

cat id_dsa.pub >> authorized_keys (これは .ssh/ パスで実行されることに注意してください)

ここに画像の説明を挿入

ホスト上で自分自身に接続することを、ssh ループバックとも呼びます。
SSH マスター

ここに画像の説明を挿入

(3)マスターノードがパスワードなしでSSH経由で2つのスレーブノードにログインできるようにします。 (スレーブでの操作)

この機能を実現するには、マスターが 2 つのスレーブ ノードに正常かつ安全にアクセスできるように、2 つのスレーブ ノードの公開鍵ファイルにマスター ノードの公開鍵情報が含まれている必要があります。
slave1 ノードは scp コマンドを使用してマスター ノードにリモートでログインし、マスターの公開キー ファイルを現在のディレクトリにコピーして、名前を master_das.pub に変更します。このプロセスではパスワードの検証が必要です。

scp master:~/.ssh/id_dsa.pub ./master_das.pub

ここに画像の説明を挿入

マスター ノードの公開キー ファイルを authorized_keys ファイルに追加します。

cat master_das.pub >> authorized_keys

(1) 各ノードの公開鍵と秘密鍵を生成します: ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa (3 台のマシン) 鍵生成ディレクトリは、ユーザーのホーム ディレクトリの下の .ssh ディレクトリにあります。 対応するディレクトリに移動して確認します: cd .ssh/ (2) id_dsa.pub が公開鍵、id_dsa が秘密鍵です。次に、公開鍵ファイルを authorized_keys ファイルにコピーします: (マスターのみ) cat id_dsa.pub >> authorized_keys (操作は .ssh/ パスの下にあることに注意してください) ホスト上の自分自身に接続することを、ssh 内部ループとも呼びます。 SSH マスター

ここに画像の説明を挿入 現時点では、

マスターはスレーブ1に接続できるようになりました。

ここに画像の説明を挿入

スレーブ 1 ノードが初めて接続されるとき、「はい」で接続を確認する必要があります。つまり、マスター ノードはスレーブ 1 ノードに接続するときに手動で確認する必要があり、自動的に接続することはできません。はいを入力すると、接続が成功し、ログアウトしてマスター ノードに戻ります。

スレーブ2でも同じ操作が行われます

JDKは以前にインストールされていたので、Windows(3台のマシン)で環境変数を設定するのと同じように、環境を直接設定します。

環境変数を変更する: vi /etc/profile
> 次のコンテンツを追加します。
> JAVA_HOME=/usr/java/jdk1.8.0_241 をエクスポートします
> エクスポート CLASSPATH=$JAVA_HOME/lib/export
> PATH=$PATH:$JAVA_HOME/bin
> PATH JAVA_HOME CLASSPATHをエクスポートする

環境変数を有効にするには: source /etc/profile

ちょっとしたトリックSCPを挿入する

ここに画像の説明を挿入

scp /etc/profile slave1:/etc/profile ##このようにslave1とslave2に渡すことができます

ついに Hadoop にたどり着いた? ? ? おめでとうございます、ニン!

環境変数を設定します。
vi /etc/プロファイル
HADOOP_HOME=/usr/hadoop/hadoop-3.1.2 をエクスポートします。
エクスポート CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib
PATH=$PATH:$HADOOP_HOME/bin をエクスポートします。

私がよく忘れてしまうステップを大きな声で教えてください!

プロファイルを有効にするには、次のコマンドを使用します: source /etc/profile

ご注意:以下は設定ファイルの内容です。この記事では今のところ内容については説明しませんが、標準の設定ファイルを用意しました。

ここに画像の説明を挿入

Hadoop環境設定ファイルhadoop-env.shを編集する

JAVA_HOME=/usr/java/jdk1.8.0_241 をエクスポートします。
このファイルには多くのコメントが含まれます。設定するテンプレートを見つけて、ポンド記号を削除します。

それから、私が怠けてしまう部分があります! ! ! ! !いくつかの設定ファイルをアップロードしました。このフォルダにコピーできます。上書きするかどうかを尋ねられたら、y と入力します。

core-site.xml yarn-site.xml hdfs-site.xml mapred-site.xml 

ここに画像の説明を挿入

また、スレーブファイルを作成し、以下のようにslave1 slave2を追加する必要があります。

ここに画像の説明を挿入

マスターファイルもあります

ここに画像の説明を挿入

(9)Hadoopを配布する:
scp -r /usr/hadoop ルート@slave1:/usr/
scp -r /usr/hadoop ルート@slave2:/usr/

マスターhadoop namenode -formatでhadoopをフォーマットします。エラーが報告された場合は、次のリンクでエラーに解決策があるかどうかを確認してください。

要約する

以上が編集者が紹介した Linux 7 ベースの Hadoop のインストールと構成の詳細な図解です。皆様のお役に立てれば幸いです。

以下もご興味があるかもしれません:
  • Linux で Hadoop クラスターをインストールするための詳細な手順
  • Linux での Hadoop 2.7.3 のインストールとセットアップのプロセス
  • Hadoop を使用せずに Linux 環境に Spark のスタンドアロン バージョンをインストールする方法
  • Linux の Centos7 で Hadoop サービスを構築する手順
  • Linux で Hadoop クラスターをインストールして構成する詳細な手順
  • Linux で Hadoop 環境を構築する手順の共有
  • Linux システムに Hadoop の真の分散クラスタをインストールする詳細な説明

<<:  vscodeでnpmを使用してbabelをインストールする方法

>>:  Windows で複数の MySQL インスタンスを実行する方法

推薦する

Ubuntu Linuxシステムをインストールするときにハードディスクをパーティション分割する最も合理的な方法の詳細な説明

Windows または Linux オペレーティング システムをインストールするかどうかに関係なく、...

Dockerの基本的なネットワーク構成の詳細な説明

外部アクセスポートをランダムにマップする -P フラグを使用すると、Docker は 49000 か...

JSの矢印関数におけるこのポイントの詳細な説明

矢印関数は ES6 の新機能です。独自の this はありません。その this ポイントは外部のコ...

MySQLクエリ文の実行プロセスの詳細な説明

目次1. クライアントとサーバー間の通信方法2. クエリキャッシュ3. クエリ最適化処理4. クエリ...

Docker Alibaba Cloud RocketMQ 4.5.1 のデプロイプロセスの詳細な説明

検索ミラー docker 検索 rocketmq画像バージョンを表示他の画像を表示したい場合は、画像...

Dockerがコンテナを作成した後にホスト名を変更する詳細なプロセス

後悔を癒す薬は世の中にある、考えてみる気さえあれば!コンテナを再作成する必要はもうありません。 m2...

Net Core実装プロセス分析のDoc​​kerインストールと展開

1. Dockerのインストールと設定 #CentOS をインストールし、Docker パッケージを...

VirtualBox は CentOS7 仮想マシンと拡張ツールをインストールします (画像とテキスト)

コンピュータシステム: win7この記事は主に写真に基づいており、多くの写真が含まれていますCent...

2列の水平タイムラインを実装するためのVueサンプルコード

目次1.コンポーネントtimelineH.vueを実装する2. コンポーネントの呼び出しこの記事では...

Docker で Tomcat を使用して Web アプリケーションを迅速にデプロイする方法の例

Docker の基本的な操作を学習した後、コンテナにいくつかの基本的なアプリケーションをデプロイして...

MySQL 継続的集計の原理と使用法の分析

この記事では、例を使用して、MySQL の継続的な集計の原理と使用方法を説明します。ご参考までに、詳...

JSX を使用してコンポーネント パーサー開発を構築する例

目次JSX環境の構築プロジェクトの設定NPMを初期化するwebpackをインストールするBabelを...

JavaScript で文字列を数値に変換する方法

目次1.parseInt(文字列、基数) 2. 数値() 3.parseFloat()主なメソッドは...

MySQLで重複データを削除する詳細な例

MySQLで重複データを削除する詳細な例重複レコードには 2 つの意味があります。1 つは完全に重複...

HTML フォーム タグの使用方法を学ぶチュートリアル

HTML のフォームを使用して、ユーザーからさまざまな種類の入力情報を収集できます。フォームは、実際...