HBASE基础

1、NoSQL 非关系型数据库

2、hbase是面向列存储结构,即类似于hash map

3、hbase是以hdfs作为基础存储

4、官网http://hbase.apache.org/

5、hbase的逻辑结构是由行与列族构成的,其中的行是由rowkey(行键唯一确定),列族是由多个列构成的

6、hbase中的数据都是以字节的形式存储

7、伪分布式安装Hbase:

(1)将hbase-1.2.0-cdh5.14.2.tar.gz上传到/opt/software

(2)解压:tar -zxf hbase-1.2.0-cdh5.14.2.tar.gz -C /opt/install

(3)创建软连接:ln -s /opt/install/hbase-1.2.0-cdh5.14.2 /opt/install/hbase

(4)修改/etc/profile:

export HBASE_HOME=/opt/install/hbase

export PATH=HBASE_HOME/bin:PATH

(5)生效/etc/profile:source /etc/profile

(6)修改conf/hbase-env.sh:【可注释第46,47行从而不再看到warning】

export JAVA_HOME=/opt/install/jdk 大概在第27行

export HBASE_MANAGES_ZK=false 大概在第129行

(7)修改hbase-site.xml:

<!--设置hbase的工作目录-->

<property>

<name>hbase.rootdir</name>

<value>hdfs://hadoop101:9000/hbase/data</value>

</property>

<!--开启hbase的集群工作模式-->

<property>

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

<value>true</value>

</property>

<!--设置zookeeper节点-->

<property>

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

<value>hadoop101</value>

</property>

<!--设置zookeeper的工作目录-->

<property>

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

<value>/opt/install/zookeeper/zkData</value>

</property>

(8)修改 regionservers 文件:

hadoop101

(9)启动zookeeper:zkServer.sh start

(10)启动namenode和datanode:

hadoop-daemon.sh start namenode

hadoop-daemon.sh start datanode

(11)启动master:hbase-daemon.sh start master

(12)启动regionserver:hbase-daemon.sh start regionserver

(13)启动成功后,访问HBase管理页面:http://hadoop101:60010

(14)停止regionserver:hbase-daemon.sh stop regionserver

(15)停止master:hbase-daemon.sh stop master

(16)停止namenode和datanode:

hadoop-daemon.sh stop namenode

datanode:hadoop-daemon.sh stop datanode

(17)停止zookeeper:zkServer.sh stop

(18)停机做快照

完全分布式安装Hbase【注意:时间同步】:

(1)-(6)步同上

(7)修改hbase-site.xml:

<property>

<name>hbase.rootdir</name>

<value>hdfs://hadoop102:9000/hbase/data</value>

</property>

<property>

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

<value>true</value>

</property>

<property>

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

<value>hadoop102:2181,hadoop103:2181,hadoop104:2181</value>

</property>

<property>

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

<value>/opt/install/zookeeper/zkData</value>

</property>

(8)修改 regionservers 文件:

hadoop102

hadoop103

hadoop104

(9)从102机器上复制hbase目录到103,104机器上

scp -r /opt/install/hbase hadoop103:/opt/install

scp -r /opt/install/hbase hadoop104:/opt/install

(10)从102机器上复制/etc/profile文件复制103,104机器上并生效:source /etc/profile

(11)启动102,103,104机器上的zookeeper:zkServer.sh start

(12)从102机器启动hdfs集群:start-dfs.sh

(13)从102机器启动hbase集群:start-hbase.sh并通过jps检查

(14)启动成功后,访问HBase管理页面:http://hadoop102:60010

(15)从102机器停止hbase集群:stop-hbase.sh

(16)停止hadoop和zookeeper集群服务

(17)停机做快照

在HBASE客户端操作的命令

0、删除字符时要按住ctrl键和backspace键,del键

1、打开客户端:hbase shell

2、退出客户端:exit

3、查看帮助:help

4、查看命令组帮助:help '命令组名称'

5、查看命令帮助:help '命令'

6、查看hbase版本:version

7、查看当前登录用户:whoami

8、查看命名空间:list_namespace

9、创建命名空间:create_namespace 'myschool'

10、创建表:create 'myschool:info','student','course'

11、查看所有表名:list

12、查看表结构:describe 'myschool:info'

13、插入数据:

put 'myschool:info','1001','student:name','tom'

put 'myschool:info','1001','student:sex','male'

put 'myschool:info','1001','student:age','22'

put 'myschool:info','1001','course:chinese','99'

put 'myschool:info','1001','course:math','88'

14、查看指定行数据:get 'myschool:info','1001'

15、查看表数据:scan 'myschool:info'

16、删除数据:delete 'myschool:info','1001','course:chinese'

17、禁用表:disable 'myschool:info',再删除表:drop 'myschool:info'

18、删除命名空间:drop_namespace 'myschool'(命名空间必须是没有表的,否则需要先删除表)

19、导入文件数据到hbase

(1)建命名空间:create_namespace 'retail'

(2)建表:create 'retail:customer','order'

(3)上传数据文件到/root/data,若此目录不存要则需mkdir /root/data

(4)启动yarn:yarn-daemon.sh start resourcemanager;yarn-daemon.sh start nodemanager

(5)导入数据:【注意在linux中执行】

hbase org.apache.hadoop.hbase.mapreduce.ImportTsv \

-Dimporttsv.separator="," \

-Dimporttsv.columns="HBASE_ROW_KEY,order:numb,order:date" \

"retail:customer" "file:///root/data/hbase_import_data.csv"

(6)查看数据:scan 'retail:customer'

相关推荐
m0_748233883 分钟前
SQL语句整理五-StarRocks
数据库·sql
it噩梦12 分钟前
es 中 terms set 使用
大数据·elasticsearch
州周14 分钟前
Ftp目录整个下载
linux·服务器·数据库
码农君莫笑18 分钟前
使用blazor开发信息管理系统的应用场景
数据库·信息可视化·c#·.net·visual studio
中科岩创22 分钟前
中科岩创边坡自动化监测解决方案
大数据·网络·物联网
NiNg_1_23426 分钟前
Echarts连接数据库,实时绘制图表详解
前端·数据库·echarts
Azoner41 分钟前
postgresql安装部署(linux)
数据库·postgresql
PyAIGCMaster1 小时前
文本模式下成功。ubuntu P104成功。
服务器·数据库·ubuntu
drebander1 小时前
MySQL 查询优化案例分享
数据库·mysql
初晴~2 小时前
【Redis分布式锁】高并发场景下秒杀业务的实现思路(集群模式)
java·数据库·redis·分布式·后端·spring·