各マシンは、JDKがあることを確認するには、次のマシン構成です。
アプリケーション/ホスト名 | ZK1 | ZK2 | zk3 | namenode1 | namenode2 | datanode1 | datanode2 | datanode3 | |
飼育係 | と | と | と | ||||||
名前ノード | と | と | |||||||
データノード | と | と | と | ||||||
journalnode | と | と | と | ||||||
zkFC | と | と | |||||||
resourcemanger | と | と | |||||||
ノードマネージャ | と | と | と | ||||||
ブログの前に1,3台のZKが、うまく設定されている、私はほんの数クローンだ、IPアドレスを変更し、それが使用には影響しません。
3 ZKを開始します。
ビューステート、それは国家を超えている場合、それは大丈夫だろう。
2二namenode1を準備namenode2
私の位置のHadoop
ディレクトリにHadoopの設定ファイルは、cd /hadoop-2.9.2/etc/hadoop
1).vi HDFS-site.xmlの
<プロパティ>
<名前> dfs.nameservices </名前>
<値> laolong </値>
</ property>の
<プロパティ>
<名前> dfs.ha.namenodes.laolong </名前>
<値> NN1、NN2 </値>
</ property>の
<プロパティ>
<名前> dfs.namenode.rpc-address.laolong.nn1 </名前>
<値> namenode1:8020 </ value>の//两台名前ノード
</ property>の
<プロパティ>
<名前> dfs.namenode.rpc-address.laolong.nn2 </名前>
<値> namenode2:8020 </ value>の
</ property>の
<プロパティ>
<名前> dfs.namenode.http-address.laolong.nn1 </ >名前
<値> namenode1:50070 </ value>の
</プロパティ>
<プロパティ>
<名前> dfs.namenode.http-address.laolong.nn2 </名前>
<値> namenode2:50070 </ value>の
</ property>の
<プロパティ>
<名前> dfs.namenode.shared.edits.dir </名前>
<値> qjournal:// datanode1:8485; datanode2:8485; datanode3:8485 / ABC </ value>の
</プロパティ>
<プロパティ>
<名前> dfs.client.failover.proxy.provider.laolong </名前>
<値> org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider </ value>の
</ property>の
<プロパティ>
<名前> dfs.ha.fencing.methods </名前>
<値> sshfence </ value>の
</ property>の
<プロパティ>
<名前> dfs.ha.fencing.ssh.private・キー・ファイル</名前>
<値> /root/.ssh/id_rsa </ value>の
</ property>の
<プロパティ>
<名前> dfs.journalnode.edits.dir </名前>
<値>は/ opt / journalnode </ value>の
</ property>の
<プロパティ>
<名前> dfs.ha.automatic-failover.enabled </名前>
<値>真</ value>の
</ property>の
2)VIコアsite.xmlの
<プロパティ>
<名前> fs.defaultFS </名前>
<値> HDFS:// laolong </ value>の
</ property>の
<プロパティ>
<名前> hadoop.tmp.dir </名前>
<値>は/ opt / Hadoopの-2.9 </ value>の
</ property>の
<プロパティ>
<名前> ha.zookeeper.quorum </名前>
<値> ZK1:2181、ZK2:2181、zk3:2181 </ value>の
</ property>の
3)我々の奴隷
4).vi糸のsite.xml
<プロパティ>
<名前> yarn.nodemanager.aux-サービス</名前>
<値> mapreduce_shuffle </ value>の
</ property>の
<プロパティ>
<名前> yarn.resourcemanager.ha.enabled </名前>
<値>真</値>
</ property>の
<プロパティ>
<名前> yarn.resourcemanager.cluster-ID </名前>
<値> lyhadoop </値>
</ property>の
<プロパティ>
<名前> yarn.resourcemanager.ha.rm -ids </名前>
<値> RM1、RM2 </値>
</ property>の
<プロパティ>
<名前> yarn.resourcemanager.hostname.rm1 </名前>
<値> namenode1 </ value>の
</プロパティ>
<プロパティ>
<名前> yarn.resourcemanager.hostname.rm2 </名前>
<値> namenode2 </ value>の
</ property>の
<プロパティ>
<名前> yarn.resourcemanager.zkアドレス</名前>
<値> ZK1:2181、ZK2:2181、ZK2:2181 </ value>の
</ property>の
5)我々hadoop-env.sh
。./ hadoop-daemon.sh開始journalnode:6)3 JournalNodeを開始
7)における名前ノード形式: HDFS名前ノード-format
別の名前ノードに8)。書式設定されたファイルのコピー、道のSCPでコピーすることができます
9)における名前ノード初期化zkfc : HDFS zkfc -formatZK
10)クラスタ:. Start-dfs.sh stop-dfs.sh停止を開始します
起動後、ブラウザを介してアクセス
別の名前ノードへのアクセス
名前ノードを殺すのアクティブな場合は、自動的にそれを切り替えることができるかどうか、参照してください?
namenode1訪問していません
それはそれをnamenode2?
名前ノードの切り替えこの実現。
11).start-yarn.sh
以下のように、開始した後
これは、HAクラスタのセットアップを完了します。私はちょうど私が皆が向い願って、多くは理解していない、学ぶことを記録しました。