高可用 hadoop HA 搭建教程
- 基礎環境配置
- 基礎環境配置
- 檔案配置
- core-site.xml
- hdfs-site.xml
- mapred-site.xml
- yarn-site.xml
- 解釋說明
- 相關命令:
基礎環境配置
基礎環境配置
點擊跳轉
檔案配置
=========================================================
core-site.xml
<!-- 指定zookeeper的存放地址-->
<property>
<name>ha.zookeeper.quorum</name>
<value>192.168.120.150:2181,192.168.120.151:2181,192.168.120.152:2181</value>
</property>
<!-- 指定hadoop集群在zookeeper上注冊的節點名-->
<property>
<name>fs.defauFS</name>
<value>hdfs://mycluster</value>
</property>
<!-- 用來指定hadoop運行時產生的存放目錄-->
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop01/tmp</value>
</property>
<!--設定快取大小,默認4kb-->
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
=========================================================
hdfs-site.xml
<!--資料塊默認大小128m-->
<property>
<name>dfs.block.size</name>
<value>134217728</value>
</property>
<!--副本數量,不配置默認為3-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!--namenode 資料存放位置-->
<property>
<name>dfs.name.dir</name>
<value>/hadoop01/namenode_data</value>
</property>
<!--datanode 資料存放位置-->
<property>
<name>dfs.data.dir</name>
<value>/hadoop01/datanode_data</value>
</property>
<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>
<property>
<name>dfs.ha.namenodes.mycluster</name>
<value>nn1,nn2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn1</name>
<value>192.168.120.150:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn1</name>
<value>192.168.120.150:50070</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn2</name>
<value>192.168.120.151:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn2</name>
<value>192.168.120.151:50070</value>
</property>
<!-- 指定namenode的元資料在Journalnode上的存放資料-->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://192.168.120.150:8485;192.168.120.151:8485;192.168.120.152:8485/mycluster</value>
</property>
<!-- 指定Journalnode本地磁盤的存放資料位置-->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/hadoop01/journalnode</value>
</property>
<!-- 開啟namenode故障轉移自動切換-->
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<!--配置失敗自動切換實作方式-->
<property>
<name>dfs.client.filover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<!--hdfs檔案操作權限,false為不驗證-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<!--配置隔離機制-->
<property>
<name>dfs.ha.fencing.methods</name>
<value>
sshfence
shell(/bin/true)
</value>
</property>
<!--使用隔離機制需要ssh免密登錄-->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
=========================================================
mapred-site.xml
<!--指定mapreduce運行在yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!--配置任務歷史服務器地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.120.150:10020</value>
</property>
<!--配置任務歷史服務器web-ui地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.120.150:19888</value>
</property>
<!--開啟uber模式-->
<property>
<name>mapreduce.job.ubertark.enabled</name>
<value>true</value>
</property>
=========================================================
yarn-site.xml
<!--開啟yarn高可用-->
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<!--指定yarn集群在zookeeper上注冊的節點名-->
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>hayarn</value>
</property>
<!--指定倆個ResourceManager的名稱-->
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<!--指定rm1的主機 -->
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>192.168.120.151</value>
</property>
<!-- 指定rm2的主機-->
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>192.168.120.152</value>
</property>
<!-- 開始yarn恢復機制-->
<property>
<name>yarn.resourcemanager.recovery.enabled</name>
<value>true</value>
</property>
<!-- 配置zookeeper的地址-->
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>192.168.120.150:2181,192.168.120.151:2181,192.168.120.152:2181</value>
</property>
<!-- nodemanager獲取資料的方法方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 配置執行ResourceManager恢復機制實作類-->
<property>
<name>yarn.resourcemanager.store.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
</property>
<!-- 指定主resourcemanager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>192.168.120.152</value>
</property>
=========================================================
解釋說明
hadoop2.6.0
zookeeper3.4.5
192.168.120.150 ===> master 或者 hadoop(文章里面可能帶有相關字眼)
192.168.120.151 ===> slave1
192.168.120.152 ===> slave2
相關命令:
啟動zookeeper(初始化作業)
zkServer.sh start 三臺機子都要啟動
zkServer.sh status
hadoop-daemon.sh start journalnode 啟動journalnode
hdfs namenode -format 格式化(僅master)
hdfs namenode -bootstrapStandby 同步slave1
或者把
hadoop01目錄下的namenode_data發送到slave1
scp /hadoop01/namenode_data slave1:/hadoop/namenode_data
hdfs zkfc -formatZK 復制Namenode節點(master或者slave1)格式化zkfc
start-dfs.sh 在master中啟動hdfs相關服務
start-yarn.sh 在slave2上啟動yarn相關服務
啟動master的歷史任務服務器
mr-jobhistory-daemon.sh start historyserver
slave1中的ResourceManager
yarn-daemon.sh start resourcemanager
jps查看埠號,把active的kill
kill -9 埠號
登錄web-ui,查看
hdfs haadmin -getServiceState nn1 查看狀態
yarn rmadmin -getServiceState rm1 查看狀態
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/342141.html
標籤:其他
下一篇:RabbitMQ如何保證順序消費
