完全分散型のHadoopクラスタのセットアップ:
1)文件配置
1.hadoop-env.sh
輸出JAVA_HOME = / OPT /モジュール/ jdk1.8.0_171
エクスポートHDFS_NAMENODE_USER =ルート
エクスポートHDFS_DATANODE_USER =ルート
エクスポートHDFS_SECONDARYNAMENODE_USER =ルート
2.hdfs-core.xml
<構成>
<プロパティ>
<名前> fs.defaultFS </名前>
<値> HDFS://マスター:9820 </ value>の
</ property>の
<プロパティ>
<名前> hadoop.tmp.dir </名前>
<値>は/ opt /モジュール/ Hadoopの-3.1.1 / TMP </値>
</ property>の
</構成>
3.hdfs-site.xmlの
<構成>
<プロパティ>
<名前> dfs.replication </名前>
<値> 2 </ value>の
</プロパティ>
<プロパティ>
<名前> dfs.namenode.secondary.httpアドレス</名前>
<値>スレーブ1:9868 </ value>の
</プロパティ>
</構成>
4。 .workers
スレーブ1
スレーブ2
slave3
2)ファイルシステムがフォーマットされて
$ビン/ HDFS名前ノード-format
3)クラスタを開始します。
$ sbinの/ start-dfs.shを
4)視覚的にHadoopクラスタチェック:
マスター:9870を
Hadoopの-HA搭建
1)文件配置
1.hadoop-env.sh
輸出JAVA_HOME = / OPT /モジュール/ jdk1.8.0_171
エクスポートHDFS_NAMENODE_USER =ルート
エクスポートHDFS_DATANODE_USER =ルート
エクスポートHDFS_ZKFC_USER =ルート
エクスポートHDFS_JOURNALNODE_USER =ルート
2.hdfs-core.xml
<設定>
<プロパティ>
<名前> fs.defaultFS </名前>
<値> HDFS:// MYCLUSTER </ value>の
</ property>の
<プロパティ>
<名前> hadoop.tmp.dir </名前>
<値> /opt/module/hadoop-3.1.1/tmp </ value>の
</ property>の
<プロパティ>
<名前> hadoop.http.staticuser.user </名前>
<値>ルート</ value>の
</ property>の
<プロパティ>
<名前> ha.zookeeper.quorum </名前>
<値>スレーブ1:2181、スレーブ2:2181、slave3:2181 </ value>の
</ property>の
< /構成>
3.hdfs-site.xmlの
<構成>
<プロパティ>
<名前> dfs.replication </名前>
<値> 2 </値>
</ property>の
<プロパティ>
<名前> dfs.nameservices </名前>
<値> MYCLUSTER </ value>の
</ property>の
<プロパティ>
<名前> dfs.ha.namenodes.mycluster </名前>
<値> NN1、NN2 </ value>の
</プロパティ>
<プロパティ>
<名前> dfs.namenode.rpc-address.mycluster.nn1 </名前>
<値>マスタ:8020 </値>
</ property>の
<プロパティ>
<名前> dfs.namenode.rpc -address.mycluster.nn2 </名前>
<値>スレーブ1:8020 </値>
</ property>の
<プロパティ>
<名前> dfs.namenode.http-address.mycluster.nn1 </名前>
<値>マスタ: 9870 </ value>の
</ property>の
<プロパティ>
<名前> dfs.namenode.http-address.mycluster.nn2 </名前>
<値>スレーブ1:9870 </ value>の
</ property>の
<プロパティ>
<名前> dfs.namenode.shared.edits.dir </名前>
<値> qjournal://マスター:8485;スレーブ1:8485;スレーブ2:8485 / MYCLUSTER </ value>の
</ property>の
<プロパティ>
<名前> dfs.client.failover.proxy.provider.mycluster </名前>
<値> 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 /ジャーナル</ value>の
</ property>の
<プロパティ>
<名前> dfs.ha.automatic-failover.enabled </名前>
<値>真</値>
</ property>の
</構成>
4.workers
スレーブ1
スレーブ2
slave3
2)飼育係集群搭建
zoo.cfg
tickTime = 2000
DATADIR = / OPT /モジュール/飼育係-3.4.12 /データ
CLIENTPORT = 2181
initLimit = 5
syncLimit = 2
server.1 = SLAVE1:2888:3888
server.2 =スレーブ2:2888:3888
server.3 = slave3。3888:2888
品目マスタディレクトリ/データ/ MYIDコンテンツである[1,2,3]
3)各ノードZK上で実行される:開始zkServer.sh
成功開始するかどうかを確認するために:zkServer.shステータス
4)journalnode(各ノードjournalnode開始)開始
HDFSはjournalnode開始--daemon
5)同期編集ログを
単一のクラスタと名前ノードがある場合
フォーマット既に名前ノード)上で実行されるHDFSの名前ノードの-initializeSharedEdits(
HDFS --daemon名前ノード開始しない
名前ノードにHDFS名前ノード-bootstrapStandby(なしフォーマット)に行わ
新しいクラスタ場合
HDFS名前ノード-format
HDFS --daemon開始名前ノード
HDFS名前ノード-bootstrapStandby()名前ノード形式で行われていない
6。)と飼育係のフォーマットを開始
$ HADOOP_HOME / binに/ HDFS zkfc -formatZK ( 1人の名前ノードをフォーマットノード缶)
$ HADOOP_HOME / binに/ HDFSは開始--daemon (zkfc 2 zkfc(すなわち名前ノード)ノードの開始を)
7)糸ビルド
yarn-env.sh
エクスポートYARN_RESOURCEMANAGER_USER =ルート
エクスポートYARN_NODEMANAGER_USER =ルート
mapred-site.xmlの
<プロパティ>
<名前> mapreduce.framework.name </名前>
<値>糸</値>
</ property>の
<プロパティ>
<名前> yarn.app.mapreduce.am.env </名前>
<値> HADOOP_MAPRED_HOME = $ {HADOOP_HOME} </値>
</ property>の
<プロパティ>
<名前> mapreduce.map.env </名前>
<値> HADOOP_MAPRED_HOME = $ {HADOOP_HOME} </ value>の
</プロパティ>
<プロパティ>
<名前> mapreduce.reduce.env </名前>
<値> HADOOP_MAPRED_HOME = $ {HADOOP_HOME} </ value>の
</ property>の
糸-site.xmlの
<プロパティ>
<名前> yarn.nodemanager.aux-サービス</名前>
<値> mapreduce_shuffle </ value>の
</ property>の
<プロパティ>
<名前> yarn.resourcemanager.ha.enabled </名前>
<値>真</値>
</ property>の
<プロパティ>
<名前> yarn.resourcemanager.cluster-ID </名前>
<値>クラスタ1 </値>
</ property>の
<プロパティ>
<名前> yarn.resourcemanager.ha.rm-IDS < /名前>
<値> RM1、RM2 </ value>の
</ property>の
<プロパティ>
<名前> yarn.resourcemanager。hostname.rm1 </名前>
<値>スレーブ2 </ value>の
</ property>の
<プロパティ>
<名前> yarn.resourcemanager.hostname.rm2 </名前>
<値> slave3 </値>
</ property>の
<プロパティ>
<名前> yarn.resourcemanager.webapp.address.rm1 </名前>
<値>スレーブ2:8088 </ value>の
</ property>の
<プロパティ>
<名前> yarn.resourcemanager.webapp.address.rm2 </名前>
<値> slave3:8088 </ value>の
</ property>の
<プロパティ>
<名前> yarn.resourcemanager.zkアドレス</名前>
<値>スレーブ1:2181、スレーブ2:2181、slave3:2181 </ value>の
</ property>の