第7章:オペレーションの完全分散モード(開発フォーカス)
7.1.1仮想マシンの準備ができています
ホストコンピューター | 奴隷 | 奴隷 | |
---|---|---|---|
ホスト名 | hadoop104 | hadoop105 | hadoop106 |
ホスト名 | hadoop104 | hadoop105 | hadoop106 |
IPアドレス | 192.168.153.104 | 192.168.153.105 | 192.168.153.106 |
7.1.2クラスタ分布書き込みスクリプトXSYNC
- SCP(セキュアコピー)セキュアコピー
定義(1)SCP:
SCPデータコピーは、サーバとサーバとの間で実施されてもよいです。(Server1からServer2)
(2)基本的な構文
scp -r $pdir/$fname $user@hadoop$host:$pdir/$fname
パス/名前の目的:再帰コマンドは、ホスト@宛先ユーザのファイル・パス/名コピーする
(3)実用的な操作の場合
hadoop104で()、ソフトウェアをhadoop104で/ optに/モジュールディレクトリhadoop105をコピーします。
[zpark@hadoop104 /]$ scp -r hadoop104:/opt/module hadoop105:/opt/module
hadoop104サーバー/モジュール上のソフトウェアは/ optの下hadoop106上の(B)は、ディレクトリhadoop106をコピーします。
[zpark@hadoop106 opt]$sudo scp -r hadoop104:/opt/module hadoop106:/opt/module
オペレーティングソフトウェアにおける(C)hadoop104 hadoop103で/ optに/モジュールディレクトリhadoop104をコピーします。
[zpark@hadoop103 opt]$ scp -r zpark@hadoop104:/opt/module root@hadoop104:/opt/module
注:コピーは/ opt /モジュールディレクトリ、hadoop106上のすべてのファイルのhadoop104、hadoop105、変更、所有者とグループ所有者を忘れないでください。
sudo chown zpark:zpark -R /opt/module
そして、(d)のhadoop102は/ etc / profileにコピーhadoop104 / etc / profileファイル。
[zpark@hadoop104 ~]$ sudo scp hadoop104:/etc/profile
hadoop102:/ etc / profileを
/ etc / profileを中(E)hadoop104 hadoop103ファイルは上の/ etc /プロファイルにコピーされます。
[zpark@hadoop104 ~]$ sudo scp hadoop104:/etc/profile
hadoop103:/ etc / profileを
(F)hadoop104は/ etc / profileでhadoop104のファイルは、上の/ etc /プロファイルにコピーされます。
[zpark@hadoop104 ~]$ sudo scp hadoop104:/etc/profile
hadoop104:/ etc / profileをする
注:DOはソースで設定ファイルをコピーすることを忘れないで/ etc / profileを
2.リモート同期ツールのrsync
rsyncのは、主にバックアップやミラーリングのために使用されています。スピードを持って、同じ利点およびサポートシンボリックリンクの内容をコピーすることは避けてください。
rsyncのとscp違いは:アップデートを行うには、より高速のscpよりrsyncの唯一の違いファイルをファイルをコピーするためにrsyncをしてください。SCPは、過去のすべてのファイルをコピーすることです。
(1)基本的な構文
rsync -av $pdir/$fname $user@hadoop$host:$pdir/$fname
あなたがホスト@宛先ユーザのファイルパス/名前をコピーしたいパラメータコマンドオプション:先のパス/名前の
オプションパラメータ説明
オプション | 機能 |
---|---|
-a | アーカイブ・コピー |
-v | コピー処理 |
(2)ケース体操
rootユーザーの下では/ opt /ディレクトリhadoop102にhadoop104機械/ソフトウェアディレクトリ同期サーバー上の()は/ opt
[zpark@hadoop104 opt]$ rsync -av /opt/software/
hadoop102場合:/ opt /ソフトウェア
3. XSYNCクラスタ配布スクリプト
(1)要件:サイクリングは、すべてのノードで同じディレクトリにファイルをコピー
(2)分析を必要とする:
(A)原本のrsyncコマンド:
rsync -av /opt/module root@hadoop103:/opt/
(B)予想スクリプト:
ファイル名XSYNCを同期する
zparkユーザーが直接システムのどこで実行することができ、保存された/ホーム/ zpark / binディレクトリのスクリプト:(C)注意を。
達成するために、(3)スクリプト
次のように()ルートディレクトリにXSYNCのディレクトリを作成し、binディレクトリにファイルを作成XSYNC、ファイルを読み取ります。
[zpark@hadoop102 ~]$ vi xsync
ファイルに次のコードを書きます
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if ((pcount==0)); then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
for((host=103; host<105; host++)); do
echo ------------------- hadoop$host --------------
rsync -av $pdir/$fname $user@hadoop$host:$pdir
done
(B)スクリプトを変更する権限を実行させるXSYNC
[zpark@hadoop102 ~]$ chmod +x xsync
(C)はXSYNC hadoop105、hadoop106配布する
(D)ビューhadoop105、hadoop106
Hadoop3.1.2 hadoop105をコピーする(E)にhadoop106を
[zhangyong@hadoop104 module]$ xsync hadoop-3.1.2/
(F)は、中jdk1.8.0_181 hadoop105、hadoop106をコピーします
[zhangyong@hadoop104 module]$ xsync jdk1.8.0_181/
(G)hadoop105コピーする設定ファイル、hadoop106で