目录
简介
Hbase是一个高可靠性、高性能、面向列、可伸缩的分布式数据库。利用Hbase技术可在廉价PC Server上搭建起大规模结构化存储集群。
Hbase是非关系型数据库,它不要求数据之间有严格的关系,同时它允许在同一列不同行中存储不同类型的数据。Hbase作为Hadoop框架下的数据库,是被设计成在一个服务器集群上运行的。
实验环境
本机Windows11+Linux虚拟机centos7
jdk: 1.8
hadoop: 3.3.6
hbase: 2.4.18
实验步骤
环境搭建
下载安装
下载安装Hbase解压至/opt/app目录下,并完成改名(所有安装的工程都在/opt/app下)
安装完成后通过命令hbase version查看是否安装成功(出现hbase的版本号及为成功)
修改配置文件
进入hbase的根目录中的conf目录修改hbase的配置文件和指定zookeeper的依赖
首先修改hbase-env.sh,配置JAVA_HOME和zookeeper管理(这里采取使用Hbase自带的zookeeper进行管理)
export JAVA_HOME=/opt/app/java # 配置java JDK1.8的环境
export HBASE_MANAGES_ZK=true # 指定Hbase使用自带的zookeeper管理
接着修改hbase-site.xml
[!CAUTION]
hbase.rootdir hdfs://hadoop:9000/hbase这里的root.dir配置必须与自己hadoop根目录下的
etc/hadoop/core-site.xml
文件中的fs.defaultFS
配置地址和端口号均保持一致!!!
启动Hbase
首先启动HDFS,由于Hbase是依赖在HDFS文件系统上的,所以启动Hbase之前要确保hdfs文件系统处于工作状态。
通过shell命令启动hdfs文件系统
start-all.sh
jps检查HDFS启动成功
通过访问hdfs的web界面,验证hdfs文件系统正在运行
接下来启动Hbase,出现如下三个进程即启动成功。
start-hbase.sh
通过访问Hbase的Web界面(IP + 端口号),验证Hbase正在运行(Hbase默认端口号:16010)
使用shell命令,进入hbase命令行环境(这里可能会提示hadoop中的jar包冲突,有两种解决方案:1.将hbase下有冲突的jar包改个名字即可(推荐),2.直接删除hadoop或hbase下触发冲突的jar包)
hbase shell
输入list没有报错,证明Hbase单机模式环境搭建成功。
了解Hbase基础语法
命令 | 用法 | 描述 |
---|---|---|
list | list | 查看Hbase中有哪些表 |
describe | describe ‘表名’ | 查看表的详细信息 |
status | status | 查看整个集群的状态信息 |
create | create ‘表名’,‘列族1’,‘列族2’ or create ‘表名’,{NAME=>‘列族1’},{NAME=>‘列族2’} | 创建表 |
put | put ‘表名’,‘rowkey名称’,‘列族名:列名’,‘值’ | 向表中插入数据 |
get | get ‘表名’,‘rowkey名称’, [‘列族’ ‘列族:列名’ …] | 从表中获取某一条数据 |
delete | delete ‘表名’,‘rowkey名称’,‘列族:列名’ | 删除表中数据 |
truncate | truncate ‘表名’ 清空表 | 清空表 |
drop | drop ‘表名’ | 删除表 |
disable | disable ‘表名’ | 禁用表 |
count | count ‘表名’ | 查看表中有多少条数据 |
scan | scan ‘表名’ | 扫描表 |
whoami | whoami | 查看当前登录的用户 |
exists | exists ‘表名’ | 查看表是否存在 |
alter | 增加:alter ‘表名’ ,NAME=>‘新的列族’ 删除:alter ‘表名’,‘delete’=>‘旧的列族’ | 修改表 |