[hadoop高可用架构]

系统环境:Centos7 selinux and iptables is disabled
Hadoop 、jdk、zookeeper程序使用nfs共享同步配置文件

软件版本:hadoop-3.3.6.tar.gz

apache-zookeeper-3.8.6-bin.tar.gz

jdk-8u181-linux-x64.tar.gz

主机列表

|-----------------|-------|--------------------------------------------------|
| IP | 主机名 | 角色 |
| 192.168.247.132 | node1 | NameNode DFSZKFailoverController ResourceManager |
| 192.168.36.133 | node2 | JournalNode QuorumPeerMain DataNode NodeManager |
| 192.168.36.134 | node3 | JournalNode QuorumPeerMain DataNode NodeManager |
| 192.168.36.135 | node4 | JournalNode QuorumPeerMain DataNode NodeManager |
| 192.168.36.136 | node5 | NameNode DFSZKFailoverController ResourceManager |

node2~node5:
yum install -y nfs-utils
mount 192.168.247.132:/home/hadoop/ /home/hadoop/

zookeeper集群部署

安装zookeeper

修改目录所有权

root@node1 \~# chown -R hadoop:hadoop /home/hadoop/apache-zookeeper-3.8.6-bin

清理之前的数据

hadoop@node1 \~$ rm -fr /tmp/*

hadoop@node2 \~$ rm -fr /tmp/*

hadoop@node3 \~$ rm -fr /tmp/*

修改配置文件

hadoop@node2 \~$ cd /home/hadoop/apache-zookeeper-3.8.6-bin/conf

hadoop@node2 conf$ cp zoo_sample.cfg zoo.cfg

在/tmp/zookeeper目录中创建myid文件,写入一个唯一的数字

hadoop@node2 \~$ mkdir /tmp/zookeeper

hadoop@node2 \~$ echo 1 > /tmp/zookeeper/myid

hadoop@node3 \~$ echo 2 > /tmp/zookeeper/myid

hadoop@node4 \~$ echo 3 > /tmp/zookeeper/myid

在各节点启动服务

bin/zkServer.sh start

查看节点状态

bin/zkServer.sh status

Hadoop配置

编辑 core-site.xml

hadoop@node1 hadoop$ vim /home/hadoop/hadoop/etc/hadoop/core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://masters</value>
</property>

<property>
<name>ha.zookeeper.quorum</name>
<value>192.168.247.133:2181,192.168.247.134:2181,192.168.247.135:2181</value>
</property>
</configuration>

编辑 hdfs-site.xml

启动hdfs集群(按顺序启动)

确认启动zookeeper集群(node2、node3、node4)

在三个DN上依次启动journalnode(第一次启动hdfs必须先启动journalnode)

hadoop@node4 \~ cd hadoop \[hadoop@node4 hadoop\] bin/hdfs --daemon start journalnode

格式化HDFS集群(node1上执行)

hadoop@node1 hadoop$ bin/hdfs namenode -format
Namenode数据默认存放在/tmp,需要把数据拷贝到h2

hadoop@node1 hadoop$ scp -r /tmp/hadoop-hadoop node5:/tmp
格式化zookeeper (只需在h1上执行即可)

hadoop@node1 hadoop$ bin/hdfs zkfc -formatZK

启动hdfs集群(只需在h1上执行即可)

hadoop@node1 hadoop$ sbin/start-dfs.sh

查看各节点状态

测试故障自动切换


杀掉h1主机的namenode进程后依然可以访问,此时h2转为active状态接管namenode

hadoop@node1 hadoop$ bin/hdfs --daemon start namenode
启动h1上的namenode,此时为standby状态

hadoop@node5 hadoop$ bin/hdfs dfs -mkdir /user

hadoop@node5 hadoop$ bin/hdfs dfs -mkdir /user/hadoop

hadoop@node5 hadoop$ bin/hdfs dfs -put input

yarn高可用 配置

编辑 mapred-site.xml

hadoop@node1 \~$ cd /home/hadoop/hadoop/etc/hadoop

hadoop@node1 hadoop$ vim mapred-site.xml
<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<property>

<name>mapreduce.application.classpath</name>

<value>HADOOP_MAPRED_HOME/share/hadoop/mapreduce/\*:HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>

</property>

</configuration>

编辑 yarn-site.xml

启动yarn服务

hadoop@node1 hadoop$ sbin/start-yarn.sh

测试yarn故障切换

稍后手动恢复rm

相关推荐
hopsky2 小时前
《Hive性能调优实战》核心内容详细解读
数据仓库·hive·hadoop
axiao92 小时前
2026年呼和浩特集团品牌全域传播服务商推荐:GEO优化+短视频+网站+广告全链路机构
大数据·人工智能
朴实赋能2 小时前
妇儿医院 AI 助手怎么落地?CareWork 本地化智能体的多 Agent 协同与合规边界设计
大数据·人工智能·腾讯云ai代码助手·ai 智能体·医疗多 agent 协同·妇儿医院 ai 助手·本地化部署 ai
Cx330❀2 小时前
【LangChain】LangChain 核心技术全景指南:从基础入门到 LCEL 链式编程
大数据·elasticsearch·搜索引擎·性能优化·langchain·全文检索
字节数据平台5 小时前
iDA:从 ChatBI 到专业数据分析助手的演进之路
大数据·人工智能·机器学习·数据分析
ZGIAI10 小时前
ZGI Workflow 并发控制:保护下游接口
人工智能·架构
ZGIAI10 小时前
知识库有结果,不等于召回率合格
人工智能·架构
万岳软件开发小城10 小时前
同城O2O系统源码核心架构分析:多商户、订单、支付及运营体系设计
大数据·同城外卖系统源码·同城o2o系统源码·外卖app开发·同城o2o小程序开发·同城o2o软件开发
兴通物联科技10 小时前
SMT PCB 微小 DataMatrix 码扫不动问题分析 兴通 XT8601B 600 万像素工业读码器落地实践
大数据·人工智能·单片机·嵌入式硬件·算法·计算机视觉