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 インスタンスを実行する方法

推薦する

背景画像にテキストを表示するためのCSS

効果: <div class="imgs"> <!-- 背景画...

MySQL 5.7.19 インストールディレクトリに my.ini ファイルを作成する方法

前回の記事では、MySQL 5.7.19 無償インストール版 (64 ビット) の設定方法についての...

計算機機能を実現するjsバージョン

この記事の例では、計算機機能を実装するためのjsの具体的なコードを参考までに共有しています。具体的な...

MySQL 派生テーブル(Derived Table)の簡単な使用例分析

この記事では、例を使用して、MySQL 派生テーブルの簡単な使用方法を説明します。ご参考までに、詳細...

Vue codemirrorはオンラインコードコンパイラの効果を実現します

序文Web 上でオンライン コード コンパイルの効果を実現したい場合は、 CodeMirrorを再度...

入力ファイルのカスタムボタンの美化(デモ)

以前にも同じような記事を書いたことがありますが、js スクリプトを使用しており、ファイルパスを表示で...

よく忘れられがちな CSS のヒント 26 選

これは、よく使われるけれども忘れられがちな CSS 実装方法のコレクションです。抜けや追加があれば、...

VUE+SpringBootはページング機能を実装します

この記事では主に、Vue + SpringBoot でページ分割されたリストデータを実装する方法を紹...

CSS における @ の使用法の概要 (例と説明付き)

@ ルールは、CSS の実行または動作に関する指示を提供する宣言です。各宣言は @ で始まり、その...

CSSの幅と高さのデフォルト値の詳細な説明:autoと%

結論は幅の%: 包含ブロック(親要素)の幅に基づいて、親の制限を超える幅のパーセンテージを定義します...

MySQL シリーズ 3 基礎

目次チュートリアルシリーズ1. MySQL の紹介2. MySQLの開発履歴3. MariaDBの基...

Confluence と jira-software を Docker にデプロイする方法

バージョン: セントロス==7.2 jdk==1.8 合流==6.15.4 jira-ソフトウェア=...

nginx リバース プロキシの魔法のスラッシュについての簡単な説明

nginx リバース プロキシを設定する場合、location と proxy_pass のスラッシ...

Linux コマンドラインのクイックヒント: ファイルの検索方法

私たちのコンピューターには、ディレクトリ、写真、ソース コードなどのファイルが保存されています。たく...

MIME TYPEとは?MIME-Typesタイプコレクション

MIME タイプとは何ですか? 1. まず、ブラウザがコンテンツを処理する方法を理解する必要がありま...