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'

相关推荐
倔强的石头_2 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
冬奇Lab2 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence3 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
得物技术3 天前
从埋点需求到规则资产:Hermes Agent 重构得物数仓工作流
大数据·llm·ai编程
久美子3 天前
AI驱动数仓建设的Harness工程实践——本体建模、知识分层与上下文工程
大数据
无响应de神3 天前
三、用户与权限管理
数据库·mysql
大树884 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
大志哥1234 天前
ES和Logstash日志链路系统上线后遭遇切片爆炸(解决)
大数据·elasticsearch
果丁智能4 天前
物联网智能锁赋能集中式住宿:身份核验与远程权限管控的全链路技术实践
大数据·人工智能·物联网·智能家居
麦聪聊数据4 天前
数据服务化时代:企业数据能力输出的核心路径
数据库