1. 実験環境
2. 全体的な手順
- 少なくとも 3 つのホストを準備します
- ホスト名と、IP とホスト名のマッピング関係を変更します (この操作は 3 つのホストすべてに必要です)。
- パスワードなしのログイン操作を実行します (3 つのホストすべてに必要)。以前に実行されている場合は、削除して再生成できます。
- ホスト上で Spark をマスター ノードとして構成する
- マスターノードに設定されているSpark環境をワーカーホストにコピーする必要があります。
- Spark クラスターを開始します (ホスト ノードで start-all.sh を実行します)。
- 次のように、デプロイが成功したかどうかを確認します。
- プロセスを確認します:
マスターノード: マスター
スレーブノード: ワーカー - SparkUI インターフェイスにアクセスします: http://ip|hostname:8080
- 注:ホスト名 + ポート番号で UI にアクセスする必要がある場合は、 Windows で仮想マシンのホスト名と仮想マシンの IP アドレス間のマッピング関係を
構成する必要があります。Cドライブの下: Window->System32->driver ->etc/ホスト
- プロセスを確認します:
- テストを実行してワードカウントを実証する
3. 詳細な手順
-
少なくとも 3 つのホストを準備します。
ここで使用する仮想マシンは、以下に示す 3 つの仮想マシン ホストです。
-
ホスト名と、IP とホスト名のマッピング関係を変更します(
3台主机都需要操作
)- コマンドを実行してホスト名を変更します。
hostnamectl --static set-hostname hadoop004
- /etc/hosts ファイルを編集し、ファイルの最後に次の情報を追加します。
192.168.76.129 hadoop002 192.168.76.128 hadoop003 192.168.76.132 hadoop004
三台虚拟机主机配置的内容都一样
- コマンドを実行してホスト名を変更します。
-
パスワードなしのログイン操作(
3台主机都需操作
) を実行します。以前に実行したことがある場合は、削除して再作成できます。ssh-keygen -t rsa (执行命令后,只需连续敲三次回车键即可) cd ~/.ssh/ ssh-copy-id -i id_rsa.pub root@hadoop002 ssh-copy-id -i id_rsa.pub root@hadoop003 ssh-copy-id -i id_rsa.pub root@hadoop004
注:
三台主机都需要操作
-
マスター ノード (
hadoop002
) のホストで構成し、Spark インストール ディレクトリの下の conf ディレクトリに入ります。- 構成ファイルを変更します:spark-env.sh (事前に存在しないため、作成またはコピーする必要があります)
export JAVA_HOME=/training/jdk1.8.0_171 export SPARK_MASTER_HOST=hadoop002 export SPARK_MASTER_PORT=7077 #history 配置历史服务 export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=30 -Dspark.history.fs.logDirectory=/training/spark-2.4.8-bin-hadoop2.7/history"
history目录需要事先创建
- 次のように、スレーブ ファイルを変更し (事前には存在しません。テンプレート ファイルを作成またはコピーして取得する必要があります)、localhost をスレーブ ノードのホスト名に変更します。 テンプレート ファイルをコピーして取得します
。cp slaves.template slaves
hadoop003 hadoop004
- Spark-defaults.conf.template を Spark-defaults.conf にコピーし、次の内容を追加します。
spark.eventLog.enabled true spark.eventLog.dir /training/spark-2.4.8-bin-hadoop2.7/logs
- 構成ファイルを変更します:spark-env.sh (事前に存在しないため、作成またはコピーする必要があります)
-
マスター ノードに構成された Spark 環境をワーカー ホストにコピーし、次のコマンドを実行する必要があります。
scp -r /training/spark-2.4.8-bin-hadoop2.7/ root@hadoop003:/training/ scp -r /training/spark-2.4.8-bin-hadoop2.7/ root@hadoop004:/training/
-
Spark クラスターを開始し、ホスト ノード上の Spark インストール ディレクトリの sbin に入り、次を実行します。
./start-all.sh
-
次のように、デプロイが成功したかどうかを確認します。
- プロセスを確認してください:
マスターノード: マスター
スレーブノード: ワーカー のプロセスが存在する場合、設定は成功しています。 - SparkUI インターフェイスにアクセスします: http://ip|hostname:8080
注意事项
:ホスト名 + ポート番号で UI にアクセスする必要がある場合は、 Windows で仮想マシンのホスト名と仮想マシンの IP アドレス間のマッピング関係を
構成する必要があります。C ドライブの下: Window->System32->driver- >etc/ホスト
- プロセスを確認してください:
-
テストを実行してワードカウントを実証する
- テスト データの準備:
マスター ノード (hadoop002) の /tools ディレクトリに新しいファイル word.txt を作成し、次の内容を追加します。I love Guizhou I love Guiyang Guiyang is the capital of Guizhou
- word.txt ファイルをスレーブ ノード (hadoop003 および hadoop004) に対応するディレクトリに送信し、以下を実行します。
scp -r word.txt root@hadoop003:/tools/ scp -r word.txt root@hadoop004:/tools/
- Spark-Shell を起動し、Spark インストール ディレクトリの bin ディレクトリに入り、次のコマンドを実行します。
./spark-shell --master spark://hadoop002:7077 --executor-memory 1g --total-executor-cores 2
起動が成功すると、次のインターフェイスが表示されます。
- 次のコードを記述して実行し、Enter キーを押して実行します。
sc.textFile("file:///tools/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("file:///tools/results/spark/wc")
sc.textFile("/tools/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("/tools/results/spark/wc")
- 結果ファイルの表示: スレーブ ノード hadoop003 の下の /tools/results/spark/wc ディレクトリに入り、次のファイルを確認します: _temporary ディレクトリに入り、ディレクトリ名 のディレクトリが 1 つだけあることを確認
し0
ます0
。上の
図の赤枠の下のディレクトリに入り、次のファイルが表示されます:
part-00000 が結果ファイルです ファイルの内容を確認します:
スレーブ ノード hadoop004 で上記と同じ操作を実行すると、結果ファイルがpart-00001であることを確認してください。内容は次のとおりです:
この時点で、プロセス全体が完了しました。!!!もう終わりにしましょう!!!
- テスト データの準備:
1. 実験環境
2. 全体的な手順
- 少なくとも 3 つのホストを準備します
- ホスト名と、IP とホスト名のマッピング関係を変更します (この操作は 3 つのホストすべてに必要です)。
- パスワードなしのログイン操作を実行します (3 つのホストすべてに必要)。以前に実行されている場合は、削除して再生成できます。
- ホスト上で Spark をマスター ノードとして構成する
- マスターノードに設定されているSpark環境をワーカーホストにコピーする必要があります。
- Spark クラスターを開始します (ホスト ノードで start-all.sh を実行します)。
- 次のように、デプロイが成功したかどうかを確認します。
- プロセスを確認します:
マスターノード: マスター
スレーブノード: ワーカー - SparkUI インターフェイスにアクセスします: http://ip|hostname:8080
- 注:ホスト名 + ポート番号で UI にアクセスする必要がある場合は、 Windows で仮想マシンのホスト名と仮想マシンの IP アドレス間のマッピング関係を
構成する必要があります。Cドライブの下: Window->System32->driver ->etc/ホスト
- プロセスを確認します:
- テストを実行してワードカウントを実証する
3. 詳細な手順
-
少なくとも 3 つのホストを準備します。
ここで使用する仮想マシンは、以下に示す 3 つの仮想マシン ホストです。
-
ホスト名と、IP とホスト名のマッピング関係を変更します(
3台主机都需要操作
)- コマンドを実行してホスト名を変更します。
hostnamectl --static set-hostname hadoop004
- /etc/hosts ファイルを編集し、ファイルの最後に次の情報を追加します。
192.168.76.129 hadoop002 192.168.76.128 hadoop003 192.168.76.132 hadoop004
三台虚拟机主机配置的内容都一样
- コマンドを実行してホスト名を変更します。
-
パスワードなしのログイン操作(
3台主机都需操作
) を実行します。以前に実行したことがある場合は、削除して再作成できます。ssh-keygen -t rsa (执行命令后,只需连续敲三次回车键即可) cd ~/.ssh/ ssh-copy-id -i id_rsa.pub root@hadoop002 ssh-copy-id -i id_rsa.pub root@hadoop003 ssh-copy-id -i id_rsa.pub root@hadoop004
注:
三台主机都需要操作
-
マスター ノード (
hadoop002
) のホストで構成し、Spark インストール ディレクトリの下の conf ディレクトリに入ります。- 構成ファイルを変更します:spark-env.sh (事前に存在しないため、作成またはコピーする必要があります)
export JAVA_HOME=/training/jdk1.8.0_171 export SPARK_MASTER_HOST=hadoop002 export SPARK_MASTER_PORT=7077 #history 配置历史服务 export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=30 -Dspark.history.fs.logDirectory=/training/spark-2.4.8-bin-hadoop2.7/history"
history目录需要事先创建
- 次のように、スレーブ ファイルを変更し (事前には存在しません。テンプレート ファイルを作成またはコピーして取得する必要があります)、localhost をスレーブ ノードのホスト名に変更します。 テンプレート ファイルをコピーして取得します
。cp slaves.template slaves
hadoop003 hadoop004
- Spark-defaults.conf.template を Spark-defaults.conf にコピーし、次の内容を追加します。
spark.eventLog.enabled true spark.eventLog.dir /training/spark-2.4.8-bin-hadoop2.7/logs
- 構成ファイルを変更します:spark-env.sh (事前に存在しないため、作成またはコピーする必要があります)
-
マスター ノードに構成された Spark 環境をワーカー ホストにコピーし、次のコマンドを実行する必要があります。
scp -r /training/spark-2.4.8-bin-hadoop2.7/ root@hadoop003:/training/ scp -r /training/spark-2.4.8-bin-hadoop2.7/ root@hadoop004:/training/
-
Spark クラスターを開始し、ホスト ノード上の Spark インストール ディレクトリの sbin に入り、次を実行します。
./start-all.sh
-
次のように、デプロイが成功したかどうかを確認します。
- プロセスを確認してください:
マスターノード: マスター
スレーブノード: ワーカー のプロセスが存在する場合、設定は成功しています。 - SparkUI インターフェイスにアクセスします: http://ip|hostname:8080
注意事项
:ホスト名 + ポート番号で UI にアクセスする必要がある場合は、 Windows で仮想マシンのホスト名と仮想マシンの IP アドレス間のマッピング関係を
構成する必要があります。C ドライブの下: Window->System32->driver- >etc/ホスト
- プロセスを確認してください:
-
テストを実行してワードカウントを実証する
- テスト データの準備:
マスター ノード (hadoop002) の /tools ディレクトリに新しいファイル word.txt を作成し、次の内容を追加します。I love Guizhou I love Guiyang Guiyang is the capital of Guizhou
- word.txt ファイルをスレーブ ノード (hadoop003 および hadoop004) に対応するディレクトリに送信し、以下を実行します。
scp -r word.txt root@hadoop003:/tools/ scp -r word.txt root@hadoop004:/tools/
- Spark-Shell を起動し、Spark インストール ディレクトリの bin ディレクトリに入り、次のコマンドを実行します。
./spark-shell --master spark://hadoop002:7077 --executor-memory 1g --total-executor-cores 2
起動が成功すると、次のインターフェイスが表示されます。
- 次のコードを記述して実行し、Enter キーを押して実行します。
sc.textFile("file:///tools/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("file:///tools/results/spark/wc")
sc.textFile("/tools/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("/tools/results/spark/wc")
- 結果ファイルの表示: スレーブ ノード hadoop003 の下の /tools/results/spark/wc ディレクトリに入り、次のファイルを確認します: _temporary ディレクトリに入り、ディレクトリ名 のディレクトリが 1 つだけあることを確認
し0
ます0
。上の
図の赤枠の下のディレクトリに入り、次のファイルが表示されます:
part-00000 が結果ファイルです ファイルの内容を確認します:
スレーブ ノード hadoop004 で上記と同じ操作を実行すると、結果ファイルがpart-00001であることを確認してください。内容は次のとおりです:
この時点で、プロセス全体が完了しました。!!!もう終わりにしましょう!!!
- テスト データの準備: