[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

相关推荐
ElfBoard4 小时前
作品展示|基于RK3588的复杂空间下自主导航无人机与多传感器 AI 融合环境监测分析
大数据·人工智能·单片机·嵌入式硬件·团队开发
远航计算机4 小时前
GEO 选题从哪来?用一份 Query 词库把一年内容排出来
大数据·人工智能·算法·aigc
拾光师4 小时前
MapReduce OutputFormat 解析:结果怎么从键值对变成文件
大数据
Allen_LVyingbo4 小时前
医疗人工智能项目全生命周期管理系统:监管知识建模、工程实现与实证评估(下)
大数据·数据库·人工智能·python·自然语言处理·自动化
志栋智能4 小时前
超自动化巡检如何生成“有灵魂”的运维报告?
大数据·运维·人工智能·架构·自动化
湘美书院--湘美谈教育4 小时前
湘美书院随笔:AI时代的生活经济学
大数据·人工智能·安全·自动化·生活
用户3610588626125 小时前
Flink高级之侧输出流Side Output原理及代码实现:从OutputTag到多流分发
大数据·flink
Geeys5 小时前
3an推客是什么用途
大数据
shirsl5 小时前
数据开发每日面试题 Day 5
大数据·数据库·sql·big data
llilian_165 小时前
PTP时钟服务器时间溢出隐患解决方案 1588时钟服务器 ptp服务器
大数据·网络·单片机·嵌入式硬件·51单片机