1.仮想マシンの準備ができています
3つのクライアント(インストールJDK8、ファイアウォール、静的IPオフターン、ホスト名)を準備
etc / hostsファイルを変更します。
192.168.138.102 hadoop102
192.168.138.103 hadoop103
192.168.138.104 hadoop104
2.書き込みクラスタ分布スクリプトXSYNC
2.1 SCP(セキュアコピー)セキュアコピー
2.1.1 SCP定義されました
SCPのデータコピーは、サーバとサーバとの間で実施することができます。
2.1.2基本的な構文
-r $ PDIR SCP / $ fnameは$ $ Hadoopのホスト@ユーザー:$ PDIR / $ fnameを
再帰的にコマンドホスト@宛先ユーザのファイル・パス/名コピーする:先のパス/名前を
192.168.138.55ホスト、ディレクトリ192.168.138.66をコピーするための192.168.138.187は/ opt /モジュールのソフトウェアには2.1.3。
-r SCP 192.168。138.55ます。/ opt /モジュール/ Hadoopの192.168。138.66ます。/ opt /モジュール
ディレクトリ192.168.138.77をコピーする0192.168.138.55サーバー/モジュールの192.168.138.77ホストで2.1.4は、ソフトウェアの下では/ opt;
-r SCP 192.168。138.55ます。/ opt /モジュール/ Hadoopの192.168。138.77ます。/ opt /モジュール
2.2 rsyncの同期ツール運城市
主にバックアップやミラーリングのためのrsyncのリモート同期ツール、。支持シンボリックリンクと同じ内容および利点をコピー回避するために速度を有するブロック。
rsyncのとscp違いは:アップデートを行うには、より高速のscpよりrsyncの唯一の違いファイルをファイルをコピーするためにrsyncをしてください。ファイルが過去にコピーされるので、scpがあります。
rsyncの2.2.1ビュー命令
男のrsync | もっと
2.2.2基本的な構文
-rvl $ PDIRのrsync / $ fnameは$ $ Hadoopのユーザ@ホスト:$ PDIRの
ファイルパス#コマンドのパラメータをコピーする/送信先ユーザの名前@ホスト:先のパス
2.2.3オプション説明
2.2.4は/ opt / sodtwareマシン55上のディレクトリを同期させるための/ optディレクトリ・サーバ66
rsyncの-rvlは/ opt /ソフトウェア/ * 192.168.138.66:/opt/software/
2.2.5オリジナルのコピー
rsyncの-rvlは/ opt /モジュール192.168.138.77:/opt/
2.2.6スクリプトを達成するために
#!/ binに/ バッシュ
#1は、パラメータを指定せずに、入力パラメータの数を取得し、終了 PCOUNT = $# IF((PCOUNT == 0 ));その後、NOの引数をエコー;出口; Fiの#2は、ファイル名を取得し、P1 = $ 1 FNAME = '$ p1`ベース名エコーFNAME = $#FNAME 3。CD` = PDIRに親ディレクトリの絶対パスを取得- P $($ DIRNAME P1); pwd`はエコーPDIR = $#PDIR 4は、現在のユーザーの名前を取得=ユーザ` #whoami` 。5 サイクル(;ホスト<104; ++ホスト)(ホスト= 102)のために行うエコー---------------------ホストHadoopの$を---- ------------ rsyncの-rvl $ PDIR / ホスト@ $ fnameは$ $ Hadoopのユーザー:$ PDIRはDONE
2.2.7スクリプトを変更する実行権限を持っているXSYNC
chmodの777 XSYNC
2.2.8スクリプトファイルを実行します
XSYNC ./xsync
3.クラスタ構成
1.クラスタの導入計画
hadoop55 hadoop66 hadoop77
HDFS 名前ノードデータノードSecondaryNameNode
データノードデータノード
YARN ノードマネージャのResourceManager
ノードマネージャノードマネージャ
2. [設定のクラスタ(3機)
2.1コアsite.xml構成ファイル[/ Hadoopのは/ etc / Hadoopのディレクトリ]
<構成>
<! -名前ノードのIPアドレスとポート- >
<プロパティ>
<名前> fs.defaultFS </名前>
<値> HDFS:// hadoop102:9000 </ value>の
</プロパティ>
<! - - > -ファイル格納ディレクトリを生成するHadoopの実行指定された
<プロパティ>
<名前> hadoop.tmp.dir </名前>
<値>は/ opt / Module1の/ Hadoopの/データ/ TEMP </ value>の
</プロパティ>
< /設定>
2.2 HDFS-site.xml構成ファイル
<設定>
<! -指定HDFS副本的数量- >
<プロパティ>
<名前> dfs.replication </名前>
<値> 3 </ value>の
</ property>の
<プロパティ>
<名前> dfs.namenode。 secondary.httpアドレス</名前>
<値> hadoop104 :50090 </ value>の </ property>の </設定>
2.3設定ファイルhadoop-env.sh
#使用するJava実装。
輸出JAVA_HOME =は/ usr / libに/ JVM / Javaベース1.8。0-openjdk- 1.8。0.242.b08- 0.el7_7.x86_64
2.4設定ファイルyarn-env.sh
#いくつかのJavaパラメータの
輸出JAVA_HOME =は/ usr / libに/ JVM / Javaベース1.8。0-openjdk- 1.8。0.242.b08- 0.el7_7.x86_64
糸-site.xmlファイルの設定2.5
<設定>
<! -サイト特有の糸構成プロパティ- >
<! -リデューサー获取数据的方式- >
<プロパティ>
<名前> yarn.nodemanager.aux-サービス</名前>
<値> mapreduce_shuffle </値>
</ property>の <! -指定YARN的のResourceManager的地址- > <プロパティ> <名前> yarn.resourcemanager.hostname </名前> <値> hadoop103 </ value>の</ property>の</設定>
価格ASK mapred-env.shの設定2.6
輸出JAVA_HOME =は/ usr / libに/ JVM / Javaベース1.8。0-openjdk- 1.8。0.242.b08- 0.el7_7.x86_64
2.7 mapred-site.xml構成ファイル
<設定>
<! -指定MR运行在YARN上- >
<プロパティ>
<名前> mapreduce.framework.name </名前>
<値>糸</ value>の
</ property>の</設定>
2.8ディストリビューションは、クラスタ上でHadoopの設定ファイルを構成し
./xsyncは/ opt /モジュール/ Hadoopの/
4.スタート単一点クラスタ
4.1クラスタは、あなたが最初に起動したときであるならば、あなたが名前ノードをフォーマットする必要があります
ビン/ HDFS名前ノード-format
4.2名前ノードhadoop55に開始
hadoop-daemon.sh開始名前ノード
4.3 hadoop55、hadoop66、hadoop77にそれぞれデータノードを開始
hadoop-daemon.shスタートデータノード
4.4 hadoop77にSecondaryNameNodeを開始
hadoop-daemon.shスタートsecondarynamenode
4.5アクセス
4.6の下ではHadoopの完全分散環境、データノードの正常開始が、ページの表示がデータノードをノード
次のように解決策は以下のとおりです。
1. / etc / hostsファイルは、IPへのノードのホスト名からすべてのマッピングに設定されて確認してください。
マシン上の2.変更hafs.site.xmlの名前ノードのファイル、設定を接合した後、データノードの再起動
<プロパティ>
<名前> dfs.namenode.datanode.registration.ipホスト名チェック</名前>
<値>偽</ value>の
</ property>の
5.SSH秘密ログイン構成
5.1 SSHの構成
5.1.1 sshの基本原則
次のようにSSHは、それは公開鍵暗号を使用しているため、セキュリティを確保することができました:
1.リモートホストは、ユーザのログイン要求、ユーザーに自分の公開鍵を受け取ります。
2.パスワードは暗号化された後、このキーを使用して、ユーザは、返送されました。
復号化パスワードに自分の秘密鍵で3.リモートホスト、パスワードが正しい場合、ユーザのログインに同意しました。
5.1.2基本的な構文
ユーザー名javaは、リモートホスト名へのログインは、Linuxの場合は次のように、コマンドは次のとおりです。
$ sshのJavaの@のlinux
SSHのデフォルトのポートは、ログイン要求は、リモートホストの22ポートに送信されますされ、22です。パラメータpを使用して、ポートがポート88、次のコマンドに、例えば、変更することができます。
$ sshの-p 88 @のlinux
注:SSHを::エラーが提供発生した場合は、ホスト名のlinux解決できませんでした:Linuxホストが、それはレーンがホストに追加/ etc / hostsに必要性を認識していない中で、このホストネームサーバーを追加するので、名前または知られていないサービスを、それがありますそして、、対応するIP缶:
Linuxの192.168.138.102
5.2 NOキー設定
5.2.1の原則自由密ログイン
クライアントとして、マスターは、暗号、公開鍵認証なしに達成されるようにすると、サーバーは、テイク軟膏に接続され、公開鍵と秘密鍵、公開鍵を備えたマスターキーのペアを生成し、それは軟膏ダンにコピーされた後にすることが必要。マスターはSSHスレーブを介して接続されている場合は、サルヴェは、乱数を生成し、マスターのパブリックキーを使用して乱数を暗号化し、そしてマスターを送信します。マスターが受信した後、スレーブ番号を解読し、その後数と確認番号の背面に暗号化された秘密鍵が正しい復号化が復号化した後、マスターを接続することができますです。これは、手動でパスワードを入力するようにユーザに要求しない公開鍵認証プロセス、です。
暗号鍵ペアなしマスターホスト(hadoop102)に発生5.2.2
SSH-keygenは-t rsaの
尋ねられたとき、直接、デフォルトのパスを、それを保存するために実行した後のパスを入力します。
生成された鍵ペア:id_rsaと(秘密鍵)、id_rsa.pub(公開鍵)は、デフォルトの「/ユーザー名/.ssh」ディレクトリに格納されています。
5.2.3鍵ペアを見ます
CDのの.ssh
5.2.4リモート・ホストにマスター(hadoop102)ノードの送信に公開鍵
SSH-コピー-IDのhadoop103
転送が成功したかどうかをチェックしますhadoop103
5.2.5試験番号・パスワード
SSH hadoop103
ファイル機能フォルダ5.3 sshが説明しました
(1)のknown_hosts:sshの記録は公共のコンピュータ(公開鍵)訪問した
秘密鍵を生成する:(2)id_rsaと
(3)id_rsa.pub:公開鍵を生成する
(4)authorized_keysには:店の承認への接着は、ログイン・サーバを通過しません公開鍵
6.クラスタを結集しました
6.1構成奴隷
CDは/ opt /モジュール/ Hadoopのは/ etc / Hadoopの/
vimの奴隷
構成された後、他のノードに配布
./xsyncは/ opt /モジュール/ Hadoopのは/ etc / Hadoopの/
スタートクラスタ6.2
6.2.1最初に起動した場合、あなたが名前ノードをフォーマットする必要があります
ビン/ HDFS名前ノード-format
hadoop102マシン上の6.2.2スタートHDFS
start-dfs.sh
6.2.3 hadoop103マシンのスタート糸
start-yarn.sh
6.2.4アクセス
HDFS:http://192.168.138.102:50070
YARN:http://192.168.138.103:8088
テストのMapReduceへ7. Startプログラム
7.1 Hadoopのwcinputという名前のディレクトリのフォルダ内のファイルを作成します。
mkdir wcinput
7.2は、フォルダ内のファイルとコンパイルwcinputを作成wc.input
CDのwcinput
タッチwc.input
vimのwc.input
7.3リターンは/ opt /モジュール/ Hadoopのディレクトリ
7.4キュータ
HadoopのFS -put wcinput /
MapReduceのプログラムの7.5の実装
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.0.jar wordcount /wcinput /wcoutput
7.6 查看运行结果
hadoop fs -cat /wcoutput/*
8.集群启动/停止方式总结
8.1 各个组件逐一启动/停止
8.1.1 分别启动/停止hdfs组件
hadoop-daemon.sh start|stop namenode|datanode|secondarynamenode
8.1.2 分别启动/停止yarn组件
yarn-daemon.sh start|stop resourcemanager|nodemanager
8.2 各个模块分开启动/停止(配置ssh前提)常用
8.2.1 整体启动/停止hdfs
start-dfs.sh
stop-dfs.sh
8.2.2 整体启动/停止yarn
start-yarn.sh
stop-yarn.sh
9.集群时间同步
时间同步的方式:找一个机器,作为时间服务器,所有的机器与这台集群时间进行定时的同步,比如,每隔十分钟,同步一次时间。
9.1 检查是否安装
rpm -qa|grep ntp
9.2 查看ntpd服务是否开启
service ntpd status
如果开启需要关闭,然后进行下面的操作;
9.3 修改ntp配置文件
vim /etc/ntp.conf
9.3.1 修改1(授权192.168.1.0网段上的所有机器可以从这台机器上查询和同步时间)
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap为
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
9.3.2 修改2(集群在局域网中,不使用其他的网络时间)
9.3.3 添加3(当该节点丢失网络连接,依然可以作为时间服务器为集群中的其他节点提供时间同步)
server 127.127.1.0
fudge 127.127.1.0 stratum 10
9.4 修改/etc/sysconfig/ntpd文件
vim /etc/sysconfig/ntpd
增加内容如下(让硬件时间与系统时间一起同步)
SYNC_HWCLOCK=yes
9.5 重新启动ntpd服务
service ntpd start
9.6 设置ntpd服务器开启启动
9.6.1 在其他机器上配置1分钟与时间服务器同步一次
crontab -e
编写内容如下:
*/1 * * * * /usr/sbin/ntpdate hadoop102
9.6.2 修改任意机器的时间
date -s "2017-9-11 11:11:11"
9.6.3 一分钟后查看机器是否与时间服务器同步
date