HBase集群部署与基础命令

开发 架构
安装 Hbase 之前需要先搭建好 Hadoop 集群和 Zookeeper 集群。

HBase 集群部署

安装 hbase 之前需要先搭建好 hadoop 集群和 zookeeper 集群。

  1. 下载安装包 http://archive.apache.org/dist/hbase/1.3.1/。
  2. 解压到安装目录。
tar -zxvf hbase-1.3.1-bin.tar.gz

我解压到了。

/opt/lagou/servers/hbase-1.3.1 目录。

  1. 修改配置文件
  • 把 hadoop 中配置的 core-site.xml、hdfs-site.xml 拷贝到 hbase 下的 conf 目录下
ln -s /opt/lagou/servers/hadoop-2.9.2/etc/hadoop/core-site.xml /opt/lagou/servers/hbase-1.3.1/conf/core-site.xml
ln -s /opt/lagou/servers/hadoop-2.9.2/etc/hadoop/hdfs-site.xml /opt/lagou/servers/hbase-1.3.1/conf/hdfs-site.xml
  • 修改 hbase-env.sh。
#添加java环境变量
export JAVA_HOME=/opt/module/jdk1.8.0_231
#指定使用外部的zk集群
export HBASE_MANAGES_ZK=FALSE
  • 修改 hbase-site.xml。
<configuration>
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://linux2:9000/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>linux2:2181,linux3:2181,linux4:2181</value>
</property>
</configuration>
  • 修改 regionservers。
linux2
linux3
linux4
  • 在 hbase 的 conf 目录下创建文件 backup-masters。

内容如下:

linux2
  • 在每个节点上配置环境变量,vi /etc/profile。
export HBASE_HOME=/opt/lagou/servers/hbase-1.3.1
export PATH=$PATH:$HBASE_HOME/bin

执行命令使配置生效。

source /etc/profile
  • 将 hbase-1.3.1 目录分发到其他 2 个节点。
scp -r hbase-1.3.1 linux3:/opt/lagou/servers/
scp -r hbase-1.3.1 linux4:/opt/lagou/servers/
  1. 启动集群。
#启动命令
start-hbase.sh
#停止命令
stop-hbase.sh
  1. 启动完成后,可以访问地址:
  2. HMaster 的 ip:16010。

HBase shell 基本操作

  1. 进入 HBase 客户端命令操作界面。
hbase shell

shell 命令行里如果输错了命令,删除需要使用 Ctrl+Backspace。

  1. 查看帮助命令。
help
  1. 查看当前数据库里有哪些表
list
  1. 创建一个 user 表,包含 user_info、extra_info 两个列族。
create 'user','base_info','extra_info'
#或者指定版本
create 'user2',{NAME => 'base_info',VERSIONS => '3'},{NAME => 'extra_info',VERSIONS => '3'}
  1. 添加数据。
  • 向 user 表中 row key 为 rk1,列族 base_info 的 name 列上插入值’xiaowang’。
put 'user','rk1','base_info:name','xiaowang'
  • 向 user 表中 row key 为 rk1,列族为 base_info 的 age 列插入值 30。
put 'user','rk1','base_info:age',30
  • 向 user 表中 row key 为 rk1,列族为 extra_info 的 address 列插入值’shanghai’。
put 'user','rk1','extra_info:address','shanghai'
  1. 查询数据。
  • 查询 user 表中 row key 为 rk1 的所有信息。
get 'user','rk1'
  • 查询 user 表中 row key 为 rk1 的 base_info 列族的所有信息。
get 'user','rk1','base_info'
  • 查询 user 表中指定列族,指定字段的值。
get 'user','rk1','base_info:name','base_info:age'
  • 查询 user 表中多个列族的信息。
get 'user','rk1','base_info','extra_info'
  • 根据 rowkey 和列值进行查询。
get 'user','rk1',{FILTER => "ValueFilter (=,'binary:shanghai')"}
  • 根据 row key 和列名进行模糊查询。

查询出列名:address。

get 'user','rk1',{FILTER => "QualifierFilter (=,'substring:add')"}
  • 查询表中所有数据。
scan 'user'
  • 查询表中列族为 base_info 的信息。
scan 'user',{COLUMNS => 'base_info'}

# Scan时可以设置是否开启Raw模式,开启Raw模式会返回包括已添加删除标记但是未实际删除的数据
# VERSIONS指定查询的最大版本数
scan 'user',{COLUMNS => 'base_info',RAW => true, VERSIONS=> 3}
  • 查询 user 表中列族为 base_info、extra_info,且列名中含 add 字符的数据。
scan 'user',{COLUMNS => ['base_info','extra_info'],FILTER => "(QualifierFilter(=,'substring:add'))"}
  • rowkey 的范围值查询。
scan 'user',{COLUMNS => 'base_info',STARTROW => 'rk1',ENDROW => 'rk3'}
  • 指定 rowkey 模糊查询。

查询 user 表中 row key 以 rk 开头的数据。

scan 'user' ,{FILTER =>"PrefixFilter('rk')"}
  1. 更新数据。

更新操作同插入操作一模一样,只不过有数据就更新,没数据就添加。

  • 更新数据值。

将 user 表中 rowkey 为 rk1 的 base_info 列族下的 name 修改为 xiaoliao

put 'user','rk1','base_info:name','xiaoliao'
  1. 删除数据和表。
  • 指定 rowkey 以及列名进行删除。
delete 'user','rk2','base_info:name'
  • 指定 rowkey 以及列名、时间戳进行删除。
delete 'user','rk2','base_info:age',1662245345710
  • 删除列族。
alter 'user','delete' => 'extra_info'
  • 清空表数据
truncate 'user'
  • 删除表。
#先disable,再drop,否则会报错
disable 'user'
drop 'user'
责任编辑:姜华 来源: J今日头条
相关推荐

2020-09-08 13:25:52

HBase分布式数据库

2016-11-09 14:16:39

HBase集群管理

2017-01-11 16:57:51

大数据大数据集群监控

2019-07-26 14:31:43

服务器集群部署

2014-04-16 10:41:58

Spark

2016-06-17 13:43:15

OpenStackSwift跨地域存储集群

2017-01-17 10:25:06

HBase集群运维

2014-07-04 10:01:08

Spark集群

2021-06-26 07:40:45

Greenplum集群部署

2023-03-01 07:42:12

HBase编排部署数据

2016-12-23 12:46:41

Linux命令进程与内存

2015-07-15 14:38:38

HBase集群崩溃恢复Hadoop

2013-07-11 13:39:23

Hadoop

2017-03-31 14:25:19

手动docker swar集群

2023-11-07 07:30:18

Hadoop高可用

2021-01-15 08:07:30

Ceph octopu集群运维

2023-12-22 15:23:04

Linux操作系统

2016-12-14 19:24:41

2022-01-03 07:49:04

Kubernetes集群容器

2017-05-04 09:01:45

达观数据Docker部署
点赞
收藏

51CTO技术栈公众号