启动 zookeeper 集群(必须)
登录 hadoop1,执行下面命令:
/program/bin/zk.sh start
启动 Journal Node 集群
登录 hadoop1、hadoop2、hadoop3,分别执行下面命令:
/program/hadoop-3.0.3-ha/bin/hdfs --daemon start journalnode
jps 查看
执行下面命令:
jps
在执行结果中,看到下面进程说明启动成功:
7076 JournalNode
格式化 hadoop1 的 namenode
登录 hadoop1 ,执行下面命令:
/program/hadoop-3.0.3-ha/bin/hdfs namenode -format
格式化成功,显示如下:
查看初始化文件
格式化后,在 core-site.xml 中的 hadoop.tmp.dir配置的目录下,生成个hdfs初始化文件
在 hadoop1 的 /program/hadoop-3.0.3-ha/data/ 目录下,有以下文件夹:
journaldata
tmp
在 hadoop2、hadoop3 的 /program/hadoop-3.0.3-ha/data/ 目录下,有以下文件夹:
journaldata
启动 namenode
登录 hadoop1 ,执行下面命令:
/program/hadoop-3.0.3-ha/bin/hdfs --daemon start namenode
jps 查看
执行下面命令,查看启动是否成功:
jps
执行结果如下:
125796 NameNode
同步元数据 到 hadoop2
登录 hadoop2 ,执行下面命令,进行元数据同步:
/program/hadoop-3.0.3-ha/bin/hdfs namenode -bootstrapStandby
显示如下:
查看文件
在 hadoop2 的 /program/hadoop-3.0.3-ha/data/ 目录下,有以下文件夹:
tmp
格式化 zkfc-设置 active
如果 hadoop1 执行下面命令,那么 hadoop1 的 namenode 就是 active
如果 hadoop2 执行下面命令,那么 hadoop2 的 namenode 就是 active
此处,在 hadoop1 执行下面命令:
/program/hadoop-3.0.3-ha/bin/hdfs zkfc -formatZK
执行结果如下,表示成功:
启动 hdfs 集群
登录 hadoop1,执行下面命令:
/program/hadoop-3.0.3-ha/sbin/start-dfs.sh
执行结果如下:
Starting namenodes on [hadoop1 hadoop2]
上一次登录:一 10月 25 21:15:24 CST 2021从 192.168.58.1pts/2 上
hadoop1: namenode is running as process 125796. Stop it first.
Starting datanodes
上一次登录:一 10月 25 21:53:22 CST 2021pts/1 上
Starting journal nodes [hadoop1 hadoop2 hadoop3]
上一次登录:一 10月 25 21:53:25 CST 2021pts/1 上
hadoop1: journalnode is running as process 118721. Stop it first.
hadoop3: journalnode is running as process 17806. Stop it first.
hadoop2: journalnode is running as process 12751. Stop it first.
Starting ZK Failover Controllers on NN hosts [hadoop1 hadoop2]
由于之前启动了 hadoop1 的 namenode,以及 journalnode ,所以先停止,再启动
jps 查看
hadoop1,执行下面命令:
jps
显示如下:
118721 JournalNode
118338 QuorumPeerMain
5747 DataNode
9911 DFSZKFailoverController
15113 NameNode
对比集群规划,查看是否全部启动
注意: 如果 NameNode 没有启动成功,重新执行 start-dfs.sh
关闭 hdfs 集群
登录 hadoop1,执行下面命令:
stop-dfs.sh
安装 fuser 命令
Fencing隔离机制 需要通过 fuser 命令,将进程杀死,所以需要安装该命令
登录 hadoop1、hadoop2,执行下面命令进程安装:
yum install psmisc -y


