hadoop 分布式文件系统的计算和高可用

hadoop 分布式文件系统的计算和高可用

1. 分布式计算

  1. 编辑 mapreduce 的配置文件,并将配置文件中写入内容的变量写入 hadoop 的启动脚本中;
[hadoop@server5 hadoop]$ pwd
/home/hadoop/hadoop/etc/hadoop
[hadoop@server5 hadoop]$ vim mapred-site.xml 
[hadoop@server5 hadoop]$ vim hadoop-env.sh 

在这里插入图片描述
在这里插入图片描述

  1. 编辑管理器的配置文件并启动
[hadoop@server5 hadoop]$ vim yarn-site.xml 
[hadoop@server5 hadoop]$ pwd
/home/hadoop/hadoop
[hadoop@server5 hadoop]$ sbin/start-yarn.sh 
Starting resourcemanager
Starting nodemanagers
server8: Warning: Permanently added 'server8,172.25.25.8' (ECDSA) to the list of known hosts.

在这里插入图片描述

启动管理器,NameNode 会启动一个 ResourceManager 进程(资源管理器)

在这里插入图片描述

在其他 dn 上面会出现结点管理器

在这里插入图片描述

其原理是:当客户端提交一个 job 时,首先会去 RM 上申请运行一个应用,此时 RM 会根据客户端的请求到后端的 NM 上,NM 会将结点上的资源汇报给 RM ,RM 再将信息发送至客户端。

在这里插入图片描述

此时会在网页访问到 8088 端口:172.25.25.5:8088,如图所示:

在这里插入图片描述

2. NN 高可用

此处有 5 台主机,其中两个 master 各2G,其他三个各 1G。

  1. NN 名字节点(hdfs)的高可用

生产环境建议将 NN 和 RM 分离,NN本身就是一个资源管理器(占用很多的资源),RM负责资源调度,消耗的资源也很多。
如果二者在一起运行,有可能会发生争抢资源的情况

本实验将NN和RM合并
server6~8:最小化的集群,日志节点、zk节点、DN、NM管理器的NM节点合并在一起;
server5 和 server9 做高可用的 master和 backup:故障切换控制器、RM、NN;

(1)再加一台主机,写入解析,新建用户,安装软件;

[root@server9 ~]# vim /etc/hosts
[root@server9 ~]# useradd hadoop
[root@server9 ~]# yum install nfs-utils -y
[root@server9 ~]# mount 172.25.25.5:/home/hadoop/ /home/hadoop/

(2)在开始前先做清理动作

[hadoop@server5 hadoop]$ sbin/stop-yarn.sh ##停掉 yarn 管理器
Stopping nodemanagers
Stopping resourcemanager
[hadoop@server5 hadoop]$ jps
7248 SecondaryNameNode
8107 Jps
7052 NameNode
[hadoop@server6 ~]$ jps		##其他几个datanode 上也是一样
5554 Jps
5193 DataNode
-------
[hadoop@server5 hadoop]$ sbin/stop-dfs.sh 	##停掉 dfs
Stopping namenodes on [server5]
Stopping datanodes
Stopping secondary namenodes [server5]
[hadoop@server5 hadoop]$ jps
8528 Jps
[hadoop@server7 ~]$ jps		##其他几个datanode 上也是一样
5480 Jps

前面的实验(完全分布式和分布式计算),Hadoop 会在 /tmp 目录下生成临时数据;在做高可用实验时之前,需要清空之前的数据,删除所有结点的 /tmp/ 目录中的所有内容;

[hadoop@server5 ~]$ rm -fr  /tmp/*
[hadoop@server6 ~]$ rm -fr  /tmp/*
[hadoop@server7 ~]$ rm -fr  /tmp/*
[hadoop@server8 ~]$ rm -fr  /tmp/*

在典型的 HA 集群中,通常有两台不同的机器充当 NN。在任何时间,只有一台机器处于 Active 状态;另一台机器是处于 Standby 状态。Active NN 负责集群中所有客户端的操作;而 Standby NN 主要用于备用,它主要维持足够的状态,如果必要,可以提供快速的故障恢复。为了让 Standby NN 的状态和 Active NN 保持同步,即元数据保持一致,它们都将会和 JournalNodes 守护进程通信。当 Active NN 执行任何有关命名空间的修改,它需要持久化到一半以上的 JournalNodes 上(通过 edits log 持久化存储),而 Standby NN 负责观察 edits log 的变化,它能够读取从 JNs 中读取 edits 信息,并更新其内部的命名空间。一旦 Active NN 出现故障,Standby NN 将会保证从 JNs 中读出了全部的 Edits,然后切换成 Active 状态。Standby NN 读取全部的 edits 可确保发生故障转移之前,是和 Active NN 拥有完全同步的命名空间状态。为了提供快速的故障恢复,Standby NN 也需要保存集群中各个文件块的存储位置。为了实现这个,集群中所有的 Database 将配置好 Active NN 和 Standby NN 的位置,并向它们发送块文件所在的位置及心跳。

(3)安装 zookeeper,搭建 ZK 集群

搭建的ZK集群至少3台,
注意:集群通常是奇数的,不要使用偶数个。

  • 安装 zookeeper 并修改配置文件
    在配置文件中写入 3 个集群结点,写入 DataNode 对应的 IP,server1 不是域名而是是服务器编号;
[hadoop@server5 ~]$ tar zxf zookeeper-3.4.9.tar.gz 
[hadoop@server5 conf]$ pwd
/home/hadoop/zookeeper-3.4.9/conf
[hadoop@server5 conf]$ ls
configuration.xsl  log4j.properties  zoo_sample.cfg
[hadoop@server5 conf]$ cp zoo_sample.cfg zoo.cfg
[hadoop@server5 conf]$ vim zoo.cfg 

30 server.1=172.25.25.6:2888:3888
31 server.2=172.25.25.7:2888:3888
32 server.3=172.25.25.8:2888:3888
##其中 2888 端口用于数据同步和其他通信,3888用于集群结点之间的选举
  • 在 Datenode 上新建数据目录
    此目录为上面编辑配置文件中的目录 /tmp/zookeeper ;并在该目录中新建一个文件名为 myid,将编号写入其中;
[hadoop@server6 ~]$ mkdir /tmp/zookeeper
[hadoop@server6 ~]$ echo 1 > /tmp/zookeeper/myid
[hadoop@server7 ~]$ mkdir /tmp/zookeeper
[hadoop@server7 ~]$ echo 2 > /tmp/zookeeper/myid
[hadoop@server8 ~]$ mkdir /tmp/zookeeper
[hadoop@server8 ~]$ echo 3 > /tmp/zookeeper/myid

(4)启动 zookeeper
依次启动三个结点;

[hadoop@server6 zookeeper-3.4.9]$ bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /home/hadoop/zookeeper-3.4.9/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[hadoop@server7 zookeeper-3.4.9]$ bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /home/hadoop/zookeeper-3.4.9/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[hadoop@server8 zookeeper-3.4.9]$ bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /home/hadoop/zookeeper-3.4.9/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

启动之后查看该结点的身份状态;

[hadoop@server6 zookeeper-3.4.9]$ bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/hadoop/zookeeper-3.4.9/bin/../conf/zoo.cfg
Mode: follower
[hadoop@server7 zookeeper-3.4.9]$ bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/hadoop/zookeeper-3.4.9/bin/../conf/zoo.cfg
Mode: leader
[hadoop@server8 zookeeper-3.4.9]$ bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/hadoop/zookeeper-3.4.9/bin/../conf/zoo.cfg
Mode: follower

根据身份查看的信息可知,选举 server7 为 leader ,其余的为 follower;

查看进程状态信息,三个结点的进程信息都没有问题;

[hadoop@server6 zookeeper-3.4.9]$ jps
3731 QuorumPeerMain
3791 Jps

[hadoop@server7 zookeeper-3.4.9]$ jps
3798 Jps
3735 QuorumPeerMain

[hadoop@server8 zookeeper-3.4.9]$ jps
3784 Jps
3727 QuorumPeerMain

(5)分布式集群
在两个 master 上做设置,一定要注意解析。

  • 编辑核心配置文件
    (1)为了完成高可用的配置(server1挂了之后,server5进行接管),在核心配置文件中 NN 地址不能固定设置,应该写masters;
    注意:这里到底server1是master,还是server5是master,取决于二者谁写入数据 。
    (2)还要告诉masters,ZK集群的位置在哪里
[hadoop@server5 hadoop]$ pwd
/home/hadoop/hadoop/etc/hadoop
[hadoop@server5 hadoop]$ vim core-site.xml 
 19 <configuration>
 20         <property>
 21                 <name>fs.defaultFS</name>
 22                 <value>hdfs://masters</value>
 23         </property>
 24
 25 
 26 <property>
 27 <name>ha.zookeeper.quorum</name>
 28 <value>172.25.25.6:2181,172.25.25.7:2181,172.25.25.8:2181</value>
 29 </property>
 30 </configuration>

在这里插入图片描述

  • 编辑 hdfs 分布式文件系统
[hadoop@server5 hadoop]$ vim hdfs-site.xml 

 19 <configuration>
 20 
 21         <property>
 22                 <name>dfs.replication</name>
 23                 <value>3</value>
 24         </property>
 25 
 26 <property>
 27 <name>dfs.nameservices</name>
 28 <value>masters</value>
 29 </property>
 30 
 31 <property>
 32 <name>dfs.ha.namenodes.masters</name>
 33 <value>h1,h2</value>
 34 </property>
 35 
 36 <property>
 37 <name>dfs.namenode.rpc-address.masters.h1</name>
 38 <value>172.25.25.5:9000</value>
 39 </property>
 40 
 41 <property>
 42 <name>dfs.namenode.http-address.masters.h1</name>
 43 <value>172.25.25.5:9870</value>
 44 </property>
 45 
 46 <property>
 47 <name>dfs.namenode.rpc-address.masters.h2</name>
 48 <value>172.25.25.9:9000</value>
 49 </property>
 50 
 51 <property>
 52 <name>dfs.namenode.http-address.masters.h2</name>
 53 <value>172.25.25.9:9870</value>
 54 </property>
 55 
 56 <property>
 57 <name>dfs.namenode.shared.edits.dir</name>
 58 <value>qjournal://172.25.25.6:8485;172.25.25.7:8485;172.25.25.8:8485/masters</value>
 59 </property>
 60 
 61 <property>
 62 <name>dfs.journalnode.edits.dir</name>
 63 <value>/tmp/journaldata</value>
 64 </property>
 65 
 66 <property>
 67 <name>dfs.ha.automatic-failover.enabled</name>
 68 <value>true</value>
 69 </property>
 70 
 71 <property>
 72 <name>dfs.client.failover.proxy.provider.masters</name>
 73 <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
 74 </property>
 75 
 76 <property>
 77 <name>dfs.ha.fencing.methods</name>
 78 <value>
 79 sshfence
 80 shell(/bin/true)
 81 </value>
 82 </property>
 83 
 84 <property>
 85 <name>dfs.ha.fencing.ssh.private-key-files</name>
 86 <value>/home/hadoop/.ssh/id_rsa</value>
 87 </property>
 88 
 89 <property>
 90 <name>dfs.ha.fencing.ssh.connect-timeout</name>
 91 <value>30000</value>
 92 </property>
 93 
 94 </configuration>

1.设置副本数为3

在这里插入图片描述
2.指定 HDFS 的 masterservices 为 masters,必须和核心配置文件中的名称保持一致

在这里插入图片描述
3.定义 master 两台主机的名字,此处定义的是 h1 和 h2

在这里插入图片描述
4.告诉 HDFS,h1 是谁以及它的 rpc 通信端口和 http 通信端口

在这里插入图片描述

在这里插入图片描述
5.告诉HDFS,h2 是谁以及它的 rpc 通信端口和 http 通信端口

在这里插入图片描述

在这里插入图片描述
6.设定日志节点,此处日志节点和ZK节点在一起

在这里插入图片描述
7.日志节点在本地磁盘中存储数据的路径,也在/tmp中

在这里插入图片描述
8.开启 NameNode 失败自动切换

在这里插入图片描述

9.失败的自动切换方式

在这里插入图片描述
10.隔离机制(每个隔离机制占用一行)

在这里插入图片描述
11.免密

在这里插入图片描述
12.隔离机制的超时时间

在这里插入图片描述

  • 启动
    启动一定要注重启动的顺序,先是ZK集群(前面已经启动了),再启动日志节点(如果第一次启动 hdfs,那么必须先启动日志节点journalnode ),再启动 hdfs 集群;

启动日志节点

[hadoop@ser[hadoop@server6 hadoop]$ pwd
/home/hadoop/hadoop
ver6 hadoop]$ bin/hdfs --daemon start journalnode

[hadoop@server7 hadoop]$ bin/hdfs --daemon start journalnode

[hadoop@server8 hadoop]$ bin/hdfs --daemon start journalnode
[hadoop@server8 hadoop]$ jps
4036 JournalNode
4054 Jps
3727 QuorumPeerMain

启动集群

(1)先格式化
:上面启动日志节点后,连接有些慢,这样会导致格式化出现差错,多格式化几次就好。但也要注意,如果格式化次数不合适,会导致 NameNode 上面的ID号和 DataNode 记录的 NameNode 号不一致。

[hadoop@server5 hadoop]$ pwd
/home/hadoop/hadoop
[hadoop@server5 hadoop]$ bin/hdfs namenode -format

(2)将 server5 上的数据拷贝到 server9 上

[hadoop@server5 hadoop]$ scp -r /tmp/hadoop-hadoop 172.25.25.9:/tmp

[root@server9 ~]# ll /tmp/
total 0
drwxrwxr-x 3 hadoop hadoop 17 May  3 23:29 hadoop-hadoop

(3)格式化ZK
zkfc故障控制器

[hadoop@server5 hadoop]$ bin/hdfs zkfc -formatZK

在这里插入图片描述
(4)在 leader 上用命令查看谁写入的数据

/home/hadoop/zookeeper-3.4.9下调用脚本bin/zkCli.sh 是谁写入的数据;
如图所示,此时还没有 master 写入的数据信息;

在这里插入图片描述
(5)启动hdfs

[hadoop@server5 hadoop]$ pwd
/home/hadoop/hadoop
[hadoop@server5 hadoop]$ sbin/start-dfs.sh 
Starting namenodes on [server5 server9]
Starting datanodes
Starting journal nodes [server6 server8 server7]
server6: journalnode is running as process 4167.  Stop it first.
server7: journalnode is running as process 4125.  Stop it first.
server8: journalnode is running as process 4036.  Stop it first.
Starting ZK Failover Controllers on NN hosts [server5 server9]
[hadoop@server5 hadoop]$ jps
4322 NameNode
4678 DFSZKFailoverController	##故障控制器
4730 Jps

可以看到体时日志已经启动了,所以只有在第一次启动时需要启动日志结点,后面在启动 hdfs 时会自动启动;
:一旦启动高可用,之前的SecondNameNode就会退化.

此时再次查看数据信息,可以看到是 server5 写入信息;

在这里插入图片描述
此时在网页查看时,可以看到三个结点的信息:

在这里插入图片描述
此时 server5 时 active 而 server9 是 standby 的状态:

在这里插入图片描述
在这里插入图片描述
故障切换
1.先上传一些文件,方便模拟故障

[hadoop@server5 hadoop]$ pwd
/home/hadoop/hadoop
[hadoop@server5 hadoop]$ bin/hdfs dfs -mkdir /user
[hadoop@server5 hadoop]$ bin/hdfs dfs -mkdir /user/hadoop
[hadoop@server5 hadoop]$ bin/hdfs dfs -put kkk
2021-05-04 00:02:39,687 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-05-04 00:02:45,879 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false

此时存的是三份:

在这里插入图片描述

  1. 强制下线 server5 上的 Namenode
[hadoop@server5 hadoop]$ jps
4322 NameNode
5059 Jps
4678 DFSZKFailoverController
[hadoop@server5 hadoop]$ kill 4322
[hadoop@server5 hadoop]$ jps
5090 Jps
4678 DFSZKFailoverController
[hadoop@server5 hadoop]$ bin/hdfs dfs -ls		##此时虽然进程已经结束,但是依然可以访问
Found 1 items
-rw-r--r--   3 hadoop supergroup  209715200 2021-05-04 00:02 kkk

kill 进程之后,虽然看不到进程信息,但可以访问到之前上传的数据,此时server9 已经接管

在这里插入图片描述

在这里插入图片描述
在 ZK 集群中看到的信息也是 server9 写入的数据:

在这里插入图片描述

3.恢复server5

[hadoop@server5 hadoop]$ bin/hdfs --daemon start  namenode
[hadoop@server5 hadoop]$ jps
5201 NameNode
4678 DFSZKFailoverController
5245 Jps

此时再次查看 server5 的状态时,可以看到其已经为 standby:

在这里插入图片描述

3. RM 高可用

  • 编辑配置文件 yarn-site.xml
[hadoop@server5 hadoop]$ vim yarn-site.xml 
 15 <configuration>
 16     <property>
 17         <name>yarn.nodemanager.aux-services</name>
 18         <value>mapreduce_shuffle</value>
 19     </property>
 20     <property>
 21         <name>yarn.nodemanager.env-whitelist</name>
 22         <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEN    D_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
 23     </property>
 24 
 25 <property>
 26 <name>yarn.resourcemanager.ha.enabled</name>
 27 <value>true</value>
 28 </property>
 29 
 30 <property>
 31 <name>yarn.resourcemanager.cluster-id</name>
 32 <value>RM_CLUSTER</value>
 33 </property>
 34 
 35 <property>
 36 <name>yarn.resourcemanager.ha.rm-ids</name>
 37 <value>rm1,rm2</value>
 38 </property>
 39 
 40 <property>
 41 <name>yarn.resourcemanager.hostname.rm1</name>
 42 <value>172.25.25.5</value>
 43 </property>
 44 
 45 <property>
 46 <name>yarn.resourcemanager.hostname.rm2</name>
 47 <value>172.25.25.9</value>
 48 </property>
 49 
 50 <property>
 51 <name>yarn.resourcemanager.recovery.enabled</name>
 52 <value>true</value>
 53 </property>
 54 
 55 <property>
 56 <name>yarn.resourcemanager.store.class</name>
 57 <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
 58 </property>
 59 
 60 <property>
 61 <name>yarn.resourcemanager.zk-address</name>
 62 <value>172.25.25.6:2181,172.25.25.7:2181,172.25.25.8:2181</value>
 63 </property>
 64 
 65 </configuration>

1.激活 RM 高可用

在这里插入图片描述
2.定义集群的名字

在这里插入图片描述
3.定义RM的节点

在这里插入图片描述
4.指定RM的地址

在这里插入图片描述

5.激活RM自动恢复功能

在这里插入图片描述

6.配置 RM 状态存储信息方式,内存存储和ZK存储

在这里插入图片描述
7.指定ZK地址

在这里插入图片描述

  • 启动服务
[hadoop@server5 hadoop]$ pwd
/home/hadoop/hadoop
[hadoop@server5 hadoop]$ sbin/start-yarn.sh 
Starting resourcemanagers on [ 172.25.25.5 172.25.25.9]
Starting nodemanagers
[hadoop@server5 hadoop]$ jps
12016 Jps
5201 NameNode
11697 ResourceManager
4678 DFSZKFailoverController

此时在 server5 和 server9 上都开启了 RM,在其他的上面都启动了 NM;

[hadoop@server6 hadoop]$ jps
4306 DataNode
3731 QuorumPeerMain
4167 JournalNode
6263 NodeManager
6362 Jps

[hadoop@server8 hadoop]$ jps
4036 JournalNode
4181 DataNode
6151 NodeManager
6248 Jps
3727 QuorumPeerMain

在 zk 结点的 master 上可以看到谁是主:

在这里插入图片描述
此时在网页中访问 172.25.25.5:8088,便可访问到 server5 的状态为active ,而 server9 的状态为 standby;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
故障切换
1.强制下线 server5 上的 RM,server9 接管

[hadoop@server5 hadoop]$ jps
5201 NameNode
11697 ResourceManager
12131 Jps
4678 DFSZKFailoverController
[hadoop@server5 hadoop]$ kill 11697
[hadoop@server5 hadoop]$ jps
5201 NameNode
4678 DFSZKFailoverController
12159 Jps

此时在 ZK 中查看时,可以看到 server9 已经接管;

在这里插入图片描述

此时在网页中访问时,server5 被拒绝访问,server9 的状态为 active;

在这里插入图片描述
在这里插入图片描述

恢复 server5 结点,此时是 standby 状态;

[hadoop@server5 hadoop]$ pwd
/home/hadoop/hadoop
[hadoop@server5 hadoop]$ bin/yarn --daemon start resourcemanager
[hadoop@server5 hadoop]$ jps
5201 NameNode
4678 DFSZKFailoverController
12267 ResourceManager
12316 Jps

此时在网页中访问时,便可以看到其为 standby 状态;

在这里插入图片描述

4. HBase分布式部署

(1)安装

[hadoop@server5 ~]$ tar zxf hbase-1.2.4-bin.tar.gz

(2)修改主配置文件

[hadoop@server5 conf]$ pwd
/home/hadoop/hbase-1.2.4/conf
[hadoop@server5 conf]$ vim hbase-env.sh

 27 export JAVA_HOME=/home/hadoop/java
 28 export HADOOP_HOME=/home/hadoop/hadoop
 29 
 
 129 export HBASE_MANAGES_ZK=false

禁用HBASE 默认的集群

(3)编辑hbase-site.xml

[hadoop@server5 conf]$ vim hbase-site.xml 
 23 <configuration>
 24 <property>		
 ##指定 region server 的共享目录,用来持久化 HBase。这里指定的 HDFS 地址是要跟 core-site.xml 里面的 fs.defaultFS 的 HDFS 的 IP 地址或者域名、端口必须一致
 25 <name>hbase.rootdir</name>
 26 <value>hdfs://masters/hbase</value>
 27 </property>
 28 
 29 <property>		##启用 hbase 分布式模式
 30 <name>hbase.cluster.distributed</name>
 31 <value>true</value>
 32 </property>
 33 
 34 <property>		
 ##Zookeeper 集群的地址列表,用逗号分割。默认是 localhost,是给伪分布式用
的。要修改才能在完全分布式的情况下使用。
 35 <name>hbase.zookeeper.quorum</name>
 36 <value>172.25.25.6,172.25.25.7,172.25.25.8</value>
 37 </property>
 38 
 39 <property>		 ##指定 hbase 的 master
 40 <name>hbase.master</name>
 41 <value>h1</value>
 42 </property>
 43 
 44 </configuration>

(4)写入节点

[hadoop@server5 conf]$ vim regionservers 
[hadoop@server5 conf]$ cat regionservers
172.25.25.6
172.25.25.7
172.25.25.8

(5)启动

[hadoop@server5 hbase-1.2.4]$ pwd
/home/hadoop/hbase-1.2.4
[hadoop@server5 hbase-1.2.4]$ bin/start-hbase.sh
[hadoop@server5 hbase-1.2.4]$ jps
5201 NameNode
12929 HMaster
13220 Jps
4678 DFSZKFailoverController
12267 ResourceManager

在备用 master 上手动启动

[hadoop@server9 hbase-1.2.4]$ bin/hbase-daemon.sh start master
[hadoop@server9 hbase-1.2.4]$ jps
17236 ResourceManager
17973 Jps
13977 NameNode
14063 DFSZKFailoverController
17791 HMaster

启动之后在另外的 ZK 集群所在主机中也会多出一个进程;

[hadoop@server6 hadoop]$ jps
4306 DataNode
3731 QuorumPeerMain
6566 HRegionServer
6822 Jps
4167 JournalNode
6263 NodeManager

此时在访问页面信息时,用 HBase 的web 默认端口可以看到如图所示的信息:

在这里插入图片描述
在这里插入图片描述

故障模拟
1.强制下线 server5 ,server9 接管

[hadoop@server5 ~]$ jps
5201 NameNode
12929 HMaster
13380 Jps
4678 DFSZKFailoverController
12267 ResourceManager
[hadoop@server5 ~]$ kill 12929
[hadoop@server5 ~]$ jps
5201 NameNode
4678 DFSZKFailoverController
12267 ResourceManager
13403 HMaster
13517 Jps

此时在网页中访问时,server5 被拒绝访问,server9 的状态为 active;

在这里插入图片描述

在这里插入图片描述

2.恢复

[hadoop@server5 hbase-1.2.4]$ bin/hbase-daemon.sh start master
starting master, logging to /home/hadoop/hbase-1.2.4/bin/../logs/hbase-hadoop-master-server5.out
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
[hadoop@server5 hbase-1.2.4]$ jps
5201 NameNode
13585 HMaster
13700 Jps
4678 DFSZKFailoverController
12267 ResourceManager

在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值