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'

相关推荐
龙兵AI增长破局圈.赵老师讲成交31 分钟前
只有把过程管好,结果才会出来。
大数据·人工智能·ai·创业创新
今天AI了吗1 小时前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·数据库·人工智能·python·sql·深度学习·机器学习
qq407855601 小时前
面向智能补货需求的进销存系统盘点
大数据·人工智能·低代码·制造
CHENGQUAN_kenan2 小时前
佛山亚马逊卖家出口退税合规指南|9610免税、一般贸易退税、无票采购、申报误区全覆盖
大数据·经验分享·笔记·百度
Web3_Daisy2 小时前
从流动性到执行:如何降低 MEV 对 Web3 市场
大数据·人工智能·web3·区块链
日常通勤穿搭2 小时前
电商 AI 作图用哪个最方便?新手商家 AI 出图工具对比
大数据·人工智能
lilian2332 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
小淮AI2 小时前
一个国际家庭在武汉的择校笔记:两份外籍人员子女学校的课程方案比较
大数据·人工智能
一只鹿鹿鹿3 小时前
大数据中心安全系统解决方案(Word文件)
大数据·运维·物联网·安全·政务
皮卡丘不断更3 小时前
手机优先的 Personal Ledger:把账目、学习和复盘放到同一个入口
数据库·sqlite·fastapi·开源项目·个人效率