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'

相关推荐
容器( ु⁎ᴗ_ᴗ⁎)ु.。oO12 分钟前
MySQL事务
数据库·mysql
Hello.Reader1 小时前
TopK算法在大数据重复数据分析中的应用与挑战
大数据·算法·数据分析
数据龙傲天1 小时前
1688商品API接口:电商数据自动化的新引擎
java·大数据·sql·mysql
Elastic 中国社区官方博客1 小时前
Elasticsearch:使用 LLM 实现传统搜索自动化
大数据·人工智能·elasticsearch·搜索引擎·ai·自动化·全文检索
cyt涛2 小时前
MyBatis 学习总结
数据库·sql·学习·mysql·mybatis·jdbc·lombok
Rookie也要加油2 小时前
01_SQLite
数据库·sqlite
liuxin334455663 小时前
教育技术革新:SpringBoot在线教育系统开发
数据库·spring boot·后端
Jason不在家3 小时前
Flink 本地 idea 调试开启 WebUI
大数据·flink·intellij-idea
看山还是山,看水还是。3 小时前
MySQL 管理
数据库·笔记·mysql·adb
fishmemory7sec3 小时前
Koa2项目实战2(路由管理、项目结构优化)
数据库·mongodb·koa