Hadoop HA 下安装 HBase HA 并测试 以及 HBase Shell 命令操作

30 篇文章 0 订阅

Hadoop HA 下安装 HBase

上传并解压HBase安装包

将安装包上传到centos01下的/opt/softwares目录并将其解压到/opt/modules:

tar -axf hbase-1.2.6.1-bin.tar.gz -C /opt/modules

hbase-env.sh文件配置

修改HBase安装目录下的conf/hbase-env.sh,配置HBase相关JDK,加入以下代码:

export JAVA_HOME=/opt/modules/jdk1.8.0_161
export HBASE_PID_DIR=/opt/modules/data/hbase/pids
export HBASE_MANAGES_ZK=false
mkdir data/hbase/pids -p

hbase-site.xml文件配置

修改HBase安装目录下的conf/hbase-site.xml:

<configuration>
    <!--需要与HDFS NameNode端口一致-->
    <property>
    		<name>hbase.rootdir</name>
          <value>hdfs://mycluster/hbase</value>
    </property>
     <!-- 指定HMaster主机端口 -->
  <property>
    <name>hbase.master.port</name>
    <value>60000</value>
  </property>
    <!--开启分布式-->
    <property>
    		<name>hbase.cluster.distributed</name>
        	<value>true</value>
    </property>
    <!--节点列表-->
    <property>
    		<name>hbase.zookeeper.quorum</name>
       	<value>centos01,centos02,centos03</value>
    </property>
    <!--ZooKeeper数据存放目录-->
    <property>
    		<name>hbase.zookeeper.property.dataDir</name>
        	<value>/opt/modules/zookeeper-3.4.10</value>
    </property>
    <!-- 指定ZooKeeper集群端口 -->
    <property>
    		<name>hbase.zookeeper.property.clientPort</name>
    		<value>2181</value>
    </property>
</configuration>

在conf目录下创建文件backup-masters并添加如下内容:

centos02

这样做的意思就是将centos02作为backup-master(HBase HA的备用Master)

regionservers文件配置

修改HBase安装目录下的conf/regionservers:

centos01
centos02
centos03

复制HBase到其他节点

scp -r hbase-1.2.6.1/ hadoop@centos02:/opt/modules/
scp -r hbase-1.2.6.1/ hadoop@centos03:/opt/modules/

启动与测试

在所有节点启动ZooKeeper集群

bin/zkServer.sh start

centos01节点启动HDFS

sbin/start-dfs.sh

启动ZKFC守护进程

在节点centos01centos02:

sbin/hadoop-daemon.sh start zkfc

先启动谁谁就是active(我先启动的centos01)
在这里插入图片描述
在这里插入图片描述

centos01节点启动HBase集群:

bin/start-hbase.sh

访问centos01:16010centos02:16010
在这里插入图片描述
在这里插入图片描述
centos01为Master,centos02为备用Backup Master

查看各节点java进程:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

测试HBase HA

centos01中杀掉hbase的HMaster进程后再测试HBase Shell是否可用,若可用则说明HBase HA搭建成功

在这里插入图片描述
杀掉centos01的HMaster后,centos02自动转变为Master:
在这里插入图片描述
在这里插入图片描述
此时测试HBase Shell,依然可以使用,说明HBase HA可用:
在这里插入图片描述

再次启动centos01的HBase的Master:

bin/hbase-daemon.sh start master

在这里插入图片描述
centos01变成了Backup Master,Master依旧为centos02centos02下的Backup Masters多了一个centos01
在这里插入图片描述
在这里插入图片描述

HBase HA测试完成且无误

HBase Shell命令行操作

启动HBase Shell

bin/hbase shell

在这里插入图片描述

创建表

创建一张表名为“t1”,列族名为“f1”的表:

create 't1','f1'

在这里插入图片描述

添加数据

向表“t1”中添加一条数据,rowkey为row1,列name的值为zhangsan

put 't1','row1','f1:name','zhangsan'

在这里插入图片描述

再向表“t1”中添加一条数据,rowkey为row2,列age的值为18

put 't1','row2','f1:age','18'

在这里插入图片描述

全表扫描

扫描“t1”:

scan 't1'

在这里插入图片描述

查询一行数据

查询表“t1”中rowkey为row1的一整行数据:

get 't1','row1'

在这里插入图片描述

修改表

修改表“t1”中行键row1对应的name值,将zhangsan改为lisi:

put 't1','row1','f1:name','lisi'

在这里插入图片描述

删除特定单元格

删除表中rowkey为row1的行的name单元格:

delete 't1','row1','f1:name'

在这里插入图片描述

删除一整行数据

删除rowkey为row2的一整行数据:

deleteall 't1','row2'

在这里插入图片描述

列出所有表

list

在这里插入图片描述

查询表中的记录数

count 't1'

在这里插入图片描述

查询表是否存在

exists 't1'

在这里插入图片描述

删除整张表

先禁用disable再删除drop

disable 't1'
drop 't1'

在这里插入图片描述

批量执行命令

HBase支持将多个Shell命令放入一个文件中,每行一个命令,然后读取文件中的命令,批量执行。例如,在HBase安装目录下新建一个文件test.txt,内容如下:

create 'test','cf'
list
put 'test','row1','cf:a','value1'
put 'test','row2','cf:b','value2'
put 'test','row3','cf:c','value3'
put 'test','row4','cf:d','value4'
scan 'test'
get 'test','row1'
disable 'test'
enable 'test'
bin/hbase shell ../test.txt

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值