目录
前言
搭建前准备
搭建
前言
Hadoop是一个由Apache基金会所开发的分布式系统基础架构,它允许用户在不了解分布式底层细节的情况下开发分布式程序,充分利用集群的威力进行高速运算和存储。Hadoop主要解决大数据存储和大数据分析两大核心问题,其核心组件包括HDFS(Hadoop Distributed File System,即Hadoop分布式文件系统)和MapReduce。
而Hadoop HA,即Hadoop高可用(High Availability),指的是Hadoop集群在出现故障时能够持续提供服务的能力。实现高可用最关键的策略是消除单点故障,这通常涉及到HDFS的HA和YARN的HA等各个组件的HA机制。
因此,Hadoop和Hadoop HA的主要区别在于,Hadoop本身是一个分布式系统基础架构,用于处理大数据存储和分析,而Hadoop HA则是这个系统的一个特性,用于确保在出现故障时,Hadoop集群能够持续、不间断地提供服务。
搭建前准备
安装jdk
安装部署zookeeper
https://blog.csdn.net/2301_78038072/article/details/136505364https://blog.csdn.net/2301_78038072/article/details/136505364
搭建
解压压缩包
配置环境变量
(以上都和hadoop完全分布式一样)
配置文件
core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>bigdata1:2181,bigdata2:2181,bigdata3:2181</value>
</property>
hdfs-site.xml
<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>bigdata1:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn2</name>
<value>bigdata2:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn1</name>
<value>bigdata1:9870</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn2</name>
<value>bigdata2:9870</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://bigdata1:8485;bigdata2:8485/mycluster</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>
sshfence
shell(true)
</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>30000</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/opt/module/hadoop-3.1.3/jounalnodedata</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
yarn-site.xml
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>cluster1</value>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>bigdata1</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>bigdata2</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm1</name>
<value>bigdata1:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm2</name>
<value>bigdata2:8088</value>
</property>
<property>
<name>hadoop.zk.address</name>
<value>bigdata1:2181,bigdata2:2181,bigdata3:2181</value>
</property>
works
bigdata1
bigdata2
bigdata3