HBase HA的分布式集群部署(适合3、5节点)

时间:2023-03-08 17:48:22
HBase HA的分布式集群部署(适合3、5节点)

本博文的主要内容有:

  .HBase的分布模式(3、5节点)安装

    .HBase的分布模式(3、5节点)的启动

  .HBase HA的分布式集群的安装

  .HBase HA的分布式集群的启动

    .HBase HA的切换

 HBase HA分布式集群搭建———集群架构

HBase HA的分布式集群部署(适合3、5节点)

HBase HA分布式集群搭建———安装步骤

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase的分布模式(3、5节点)安装

1、分别对djt11、djt12、djt13、djt14、djt15的启动进程恢复到没有任何启动进程的状态。

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt11 hadoop]$ pwd

[hadoop@djt11 hadoop]$ jps

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt12 hadoop]$ jps

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt13 hadoop]$ jps

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt14 hadoop]$ jps

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt15 hadoop]$ jps

2、切换到app安装目录

下载HBase压缩包

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt11 hadoop]$ pwd

[hadoop@djt11 hadoop]$ cd ..

[hadoop@djt11 app]$ pwd

[hadoop@djt11 app]$ ls

[hadoop@djt11 app]$ rz

[hadoop@djt11 app]$ ls

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt11]$ tar -zxvf hbase-0.98.19-hadoop2-bin.tar.gz

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt11 app]$ pwd

[hadoop@djt11 app]$ ls

[hadoop@djt11 app]$ mv hbase-0.98.19-hadoop2 hbase

[hadoop@djt11 app]$ rm -rf hbase-0.98.19-hadoop2-bin.tar.gz

[hadoop@djt11 app]$ ls

[hadoop@djt11 app]$ pwd

[hadoop@djt11 app]$

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt11 app]$ ls

[hadoop@djt11 app]$ cd hbase/

[hadoop@djt11 hbase]$ ls

[hadoop@djt11 hbase]$ cd conf/

[hadoop@djt11 conf]$ pwd

[hadoop@djt11 conf]$ ls

[hadoop@djt11 conf]$ vi regionservers

HBase HA的分布式集群部署(适合3、5节点)

djt13

djt14

djt15

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt11 conf]$ vi backup-masters

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

djt12

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt11 conf]$ cp /home/hadoop/app/hadoop/etc/hadoop/core-site.xml ./
[hadoop@djt11 conf]$ cp /home/hadoop/app/hadoop/etc/hadoop/hdfs-site.xml ./

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt11 conf]$ vi hbase-site.xml

HBase HA的分布式集群部署(适合3、5节点)

<configuration>

<property>

<name>hbase.zookeeper.quorum</name>

<value>djt11,djt12,djt13,djt14,djt15</value>

</property>

<property>

<name>hbase.zookeeper.property。dataDir</name>

<value>/home/hadoop/data/zookeeper/zkdata</value>

</property>

<property>

<name>hbase.zookeeper.property.clientPort</name>

<value>2181</value>

</property>

<property>

<name>hbase.rootdir</name>

<value>hdfs://cluster1/hbase</value>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<property>

<name>hbase.tmp.dir</name>

<value>/home/hadoop/data/tmp/hbase</value>

</property>

<property>

<name>hbase.master</name>

<value>hdfs://djt11:60000</value>

</property>

</configuration>

HBase HA的分布式集群部署(适合3、5节点)

vi hbase-env.sh

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

#export JAVA_HOME=/usr/java/jdk1.6.0/

修改为,

export JAVA_HOME=/home/hadoop/app/jdk1.7.0_79

export HBASE_MANAGES_ZK=true

这里,有一个知识点。

进程HQuorumPeer,设HBASE_MANAGES_ZK=true,在启动HBase时,HBase把Zookeeper作为自身的一部分运行。

进程QuorumPeerMain,设HBASE_MANAGES_ZK=false,先手动启动Zookeeper,再启动HBase。

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt11 conf]$ pwd

[hadoop@djt11 conf]$ su root

[root@djt11 conf]# pwd

[root@djt11 conf]# vi /etc/profile

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

JAVA_HOME=/home/hadoop/app/jdk1.7.0_79

ZOOKEEPER_HOME=/home/hadoop/app/zookeeper

HADOOP_HOME=/home/hadoop/app/hadoop

HIVE_HOME=/home/hadoop/app/hive

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:/home/hadoop/tools:$PATH

export JAVA_HOME CLASSPATH PATH ZOOKEEPER_HOME HADOOP_HOME HIVE_HOME

JAVA_HOME=/home/hadoop/app/jdk1.7.0_79

ZOOKEEPER_HOME=/home/hadoop/app/zookeeper

HADOOP_HOME=/home/hadoop/app/hadoop

HIVE_HOME=/home/hadoop/app/hive

HBASE_HOME=/home/hadoop/app/hbase

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$HBASE_HOME/bin:/home/hadoop/tools:$PATH

export JAVA_HOME CLASSPATH PATH ZOOKEEPER_HOME HADOOP_HOME HIVE_HOME HBASE_HOME

HBase HA的分布式集群部署(适合3、5节点)

[root@djt11 conf]# source /etc/profile

[root@djt11 conf]# su hadoop

HBase HA的分布式集群部署(适合3、5节点)

这个脚本,我们之前在搭建hadoop的5节点时,已经写好并可用的。这里,我们查看下并温习。不作修改

HBase HA的分布式集群部署(适合3、5节点)

将djt11的hbase分发到slave,即djt12、djt13、djt14、djt15

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt11 tools]$ pwd

[hadoop@djt11 tools]$ cd /home/hadoop/app/

[hadoop@djt11 app]$ ls

[hadoop@djt11 app]$ deploy.sh hbase /home/hadoop/app/ slave

查看分发后的结果情况

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

表明,分发成功!

接下来,分别也跟djt11亿元,进行djt12、djt13、djt14、djt15的配置。

djt12的配置:

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt12 hbase]$ pwd

[hadoop@djt12 hbase]$ ls

[hadoop@djt12 hbase]$ cd conf/

[hadoop@djt12 conf]$ pwd

[hadoop@djt12 conf]$ ls

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt12 conf]$ vi regionservers

HBase HA的分布式集群部署(适合3、5节点)

都是已经配置好了的

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt12 conf]$ vi backup-masters

HBase HA的分布式集群部署(适合3、5节点)

都是之前已经配置好了的

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt12 conf]$ cp /home/hadoop/app/hadoop/etc/hadoop/core-site.xml ./
[hadoop@djt12 conf]$ cp /home/hadoop/app/hadoop/etc/hadoop/hdfs-site.xml ./

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt12 conf]$ vi hbase-site.xml

HBase HA的分布式集群部署(适合3、5节点)

<configuration>

<property>

<name>hbase.zookeeper.quorum</name>

<value>djt11,djt12,djt13,djt14,djt15</value>

</property>

<property>

<name>hbase.zookeeper.property</name>

<value>/home/hadoop/data/zookeeper/zkdata</value>

</property>

<property>

<name>hbase.zookeeper.property.clientPort</name>

<value>2181</value>

</property>

<property>

<name>hbase.rootdir</name>

<value>hdfs://cluster1/hbase</value>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<property>

<name>hbase.master</name>

<value>hdfs://djt11:60000</value>

</property>

</configuration>

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt12 conf]$ vi hbase-env.sh

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt12 conf]$ pwd

[hadoop@djt12 conf]$ su root

[root@djt12 conf]# pwd

[root@djt12 conf]# vi /etc/profile

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

[root@djt12 conf]# cd ..

[root@djt12 hbase]# pwd

[root@djt12 hbase]# su hadoop

[hadoop@djt12 hbase]$ pwd

[hadoop@djt12 hbase]$ ls

[hadoop@djt12 hbase]$

djt13的配置

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt13 app]$ pwd

[hadoop@djt13 app]$ ls

[hadoop@djt13 app]$ cd hbase/

[hadoop@djt13 hbase]$ ls

[hadoop@djt13 hbase]$ cd conf/

[hadoop@djt13 conf]$ ls

[hadoop@djt13 conf]$ vi regionservers

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt13 conf]$ vi backup-masters

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt13 conf]$ cp /home/hadoop/app/hadoop/etc/hadoop/core-site.xml ./
[hadoop@djt13 conf]$ cp /home/hadoop/app/hadoop/etc/hadoop/hdfs-site.xml ./

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt13 conf]$ vi hbase-site.xml

HBase HA的分布式集群部署(适合3、5节点)

<configuration>

<property>

<name>hbase.zookeeper.quorum</name>

<value>djt11,djt12,djt13,djt14,djt15</value>

</property>

<property>

<name>hbase.zookeeper.property</name>

<value>/home/hadoop/data/zookeeper/zkdata</value>

</property>

<property>

<name>hbase.zookeeper.property.clientPort</name>

<value>2181</value>

</property>

<property>

<name>hbase.rootdir</name>

<value>hdfs://cluster1/hbase</value>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<property>

<name>hbase.master</name>

<value>hdfs://cluster1:60000</value>

</property>

  (注意,我的图片里是错误的!)  因为是做了高可用,是cluster1而不是单独的djt11。cluster1包括了djt11和djt12

</configuration>

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt13 conf]$ pwd

[hadoop@djt13 conf]$ su root

[root@djt13 conf]# pwd

[root@djt13 conf]# vi /etc/profile

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

JAVA_HOME=/home/hadoop/app/jdk1.7.0_79

ZOOKEEPER_HOME=/home/hadoop/app/zookeeper

HADOOP_HOME=/home/hadoop/app/hadoop

HIVE_HOME=/home/hadoop/app/hive

HBASE_HOME=/home/hadoop/app/hbase

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$HBASE_HOME/bin:/home/hadoop/tools:$PATH

export JAVA_HOME CLASSPATH PATH ZOOKEEPER_HOME HADOOP_HOME HIVE_HOME HBASE_HOME

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt13 conf]$ pwd

[hadoop@djt13 conf]$ su root

[root@djt13 conf]# pwd

[root@djt13 conf]# vi /etc/profile

[root@djt13 conf]# source /etc/profile

[root@djt13 conf]# cd ..

[root@djt13 hbase]# pwd

[root@djt13 hbase]# su hadoop

[hadoop@djt13 hbase]$ pwd

[hadoop@djt13 hbase]$ ls

[hadoop@djt13 hbase]$

djt14的配置

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt14 app]$ pwd

[hadoop@djt14 app]$ ls

[hadoop@djt14 app]$ cd hbase/

[hadoop@djt14 hbase]$ ls

[hadoop@djt14 hbase]$ cd conf/

[hadoop@djt14 conf]$ ls

[hadoop@djt14 conf]$ vi regionservers

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt14 conf]$ vi backup-masters

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt14 conf]$ cp /home/hadoop/app/hadoop/etc/hadoop/core-site.xml ./
[hadoop@djt14 conf]$ cp /home/hadoop/app/hadoop/etc/hadoop/hdfs-site.xml ./

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt14 conf]$ vi hbase-site.xml

HBase HA的分布式集群部署(适合3、5节点)

<configuration>

<property>

<name>hbase.zookeeper.quorum</name>

<value>djt11,djt12,djt13,djt14,djt15</value>

</property>

<property>

<name>hbase.zookeeper.property</name>

<value>/home/hadoop/data/zookeeper/zkdata</value>

</property>

<property>

<name>hbase.zookeeper.property.clientPort</name>

<value>2181</value>

</property>

<property>

<name>hbase.rootdir</name>

<value>hdfs://cluster1/hbase</value>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<property>

<name>hbase.master</name>

<value>hdfs://djt11:60000</value>

</property>

</configuration>

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt14 conf]$ vi hbase-env.sh

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt14 conf]$ pwd

[hadoop@djt14 conf]$ su root

[root@djt14 conf]# pwd

[root@djt14 conf]# vi /etc/profile

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt14 conf]$ pwd

[hadoop@djt14 conf]$ su root

[root@djt14 conf]# pwd

[root@djt14 conf]# vi /etc/profile

[root@djt14 conf]# source /etc/profile

[root@djt14 conf]# cd ..

[root@djt14 hbase]# pwd

[root@djt14 hbase]# su hadoop

[hadoop@djt14 hbase]$ pwd

[hadoop@djt14 hbase]$ ls

[hadoop@djt14 hbase]$

djt15的配置

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt15 app]$ pwd

[hadoop@djt15 app]$ ls

[hadoop@djt15 app]$ cd hbase/

[hadoop@djt15 hbase]$ ls

[hadoop@djt15 hbase]$ cd conf/

[hadoop@djt15 conf]$ ls

[hadoop@djt15 conf]$ vi regionservers

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt15 conf]$ vi backup-masters

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt15 conf]$ cp /home/hadoop/app/hadoop/etc/hadoop/core-site.xml ./
[hadoop@djt15 conf]$ cp /home/hadoop/app/hadoop/etc/hadoop/hdfs-site.xml ./

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt15 conf]$ vi hbase-site.xml

HBase HA的分布式集群部署(适合3、5节点)

<configuration>

<property>

<name>hbase.zookeeper.quorum</name>

<value>djt11,djt12,djt13,djt14,djt15</value>

</property>

<property>

<name>hbase.zookeeper.property</name>

<value>/home/hadoop/data/zookeeper/zkdata</value>

</property>

<property>

<name>hbase.zookeeper.property.clientPort</name>

<value>2181</value>

</property>

<property>

<name>hbase.rootdir</name>

<value>hdfs://cluster1/hbase</value>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<property>

<name>hbase.master</name>

<value>hdfs://djt11:60000</value>

</property>

</configuration>

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt15 conf]$ vi hbase-env.sh

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt15 conf]$ pwd

[hadoop@djt15 conf]$ su root

[root@djt15 conf]# pwd

[root@djt15 conf]# vi /etc/profile

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt15 conf]$ pwd

[hadoop@djt15 conf]$ su root

[root@djt15 conf]# pwd

[root@djt15 conf]# vi /etc/profile

[root@djt15 conf]# source /etc/profile

[root@djt15 conf]# cd ..

[root@djt15 hbase]# pwd

[root@djt15 hbase]# su hadoop

[hadoop@djt15 hbase]$ pwd

[hadoop@djt15 hbase]$ ls

[hadoop@djt15 hbase]$

   .HBase的分布模式(3、5节点)的启动

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

这里,只需启动sbin/start-dfs.sh即可。

不需sbin/start-all.sh (它包括sbin/start-dfs.sh和sbin/start-yarn.sh)

启动zookeeper,是因为,hbase是建立在zookeeper之上的。数据是保存在hdfs。

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt11 app]$ jps

[hadoop@djt11 app]$ ls

[hadoop@djt11 app]$ cd hadoop/

[hadoop@djt11 hadoop]$ ls

[hadoop@djt11 hadoop]$ sbin/start-dfs.sh

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt11 hadoop]$ jps

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt12 hadoop]$ jps

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt13 app]$ cd hadoop/

[hadoop@djt13 hadoop]$ jps

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt14 app]$ cd hadoop/

[hadoop@djt14 hadoop]$ pwd

[hadoop@djt14 hadoop]$ jps

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt15 app]$ cd hadoop/

[hadoop@djt15 hadoop]$ pwd

[hadoop@djt15 hadoop]$ jps

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt11 hbase]$ bin/start-hbase.sh

[hadoop@djt11 hbase]$ jps

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt12 hbase]$ cd ..

[hadoop@djt12 app]$ ls

[hadoop@djt12 app]$ cd hbase/

[hadoop@djt12 hbase]$ pwd

[hadoop@djt12 hbase]$ jps

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt13 hbase]$ cd ..

[hadoop@djt13 app]$ ls

[hadoop@djt13 app]$ cd hbase/

[hadoop@djt13 hbase]$ pwd

[hadoop@djt13 hbase]$ jps

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt14 hbase]$ cd ..

[hadoop@djt14 app]$ ls

[hadoop@djt14 app]$ cd hbase/

[hadoop@djt14 hbase]$ pwd

[hadoop@djt14 hbase]$ jps

HBase HA的分布式集群部署(适合3、5节点)

[hadoop@djt15 hbase]$ cd ..

[hadoop@djt15 app]$ ls

[hadoop@djt15 app]$ cd hbase/

[hadoop@djt15 hbase]$ pwd

[hadoop@djt15 hbase]$ jps

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

那么,djt11的master被杀死掉,则访问不到了。

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

然后,我们再把djt11的master启起来,

HBase HA的分布式集群部署(适合3、5节点)

HBase HA的分布式集群部署(适合3、5节点)

则,djt11由不可访问,变成备用的master了。djt12依然还是主用的master

HBase HA的分布式集群部署(适合3、5节点)

  成功!