从零开始搭建自己的大数据环境---hbase篇

萌新篇 —从零开始搭建自己的大数据环境


前言

我事先创建好了opt文件,该文件里包含data,modules,software,tools,一般我把安装包存放在sofeware解压生成在modules。可以按照我这个方式去做,后期以便文件好找。java环境自行先安装建议使用1.8版本的,这里我就不示范了。过程使用的软件Notepad++(在这里修改配置文件比较方便)MobaXterm_Personal_20.2(远程登录linux)FlashFPX(把文件发送到linux上)


一、Hbase简介

HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
Hbase详细简介,点击

二、Hbase特点

1、HBase单表可以有百亿行、百万列,数据矩阵横向和纵向容量大,两个纬度所支持的数据量级都非常具有弹性。
2、面向列:HBase是面向列的存储和权限控制,并支持独立检索。列式存储,其数据在表中是按照某列存储的,这样在查询只需要少数几个字段的时候,能大大减少读取的数据量。
3、稀疏性:为空的列并不占用存储空间,表可以设计的非常稀疏。
4、扩展性:底层依赖于HDFS。
5、高可靠性:WAL机制保证了数据写入时不会因集群异常而导致写入数据丢失: Replication机制保证了在集群出现严重的问题时,数据不会发生丢失或损坏。而且HBase底层使用HDFS HDFS本身也有备份。
6、高性能:底层的LSM 数据结构和Rowkey有序排列等架构上的独特设计,使得Hbase具有非常高的写入性能。region切分、主键索引和缓存机制使得 HBase在海量数据下具备一定的随机读取性能,该性能针对Rowkey的查询能够到达毫秒级别。

三、Hbase数据模型

1、表(Table): HBase会将数据组织进一张张的表里面,但是需要注意的是表名必须是能用在文件路径里的合法名字,因为HBase的表是映射成hdfs上面的文件。
2、行(Row): 在表里面,每一行代表着一个数据对象,每一行都是以一个行键(Row Key)来进行唯一标识的,行键并没有什么特定的数据类型,以二进制的字节来存储。
3、 列族(Column Family): 在定义HBase表的时候需要提前设置好列族, 表中所有的列都需要组织在列族里面,列族一旦确定后,就不能轻易修改,因为它会影响到HBase真实的物理存储结构,但是列族中的列标识(Column Qualifier)以及其对应的值可以动态增删。表中的每一行都有相同的列族,但是不需要每一行的列族里都有一致的列标识(Column Qualifier)和值,所以说是一种稀疏的表结构,这样可以一定程度上避免数据的冗余。
4、列标识(Column Qualifier): 列族中的数据通过列标识来进行映射,其实这里大家可以不用拘泥于“列”这个概念,也可以理解为一个键值对,Column Qualifier就是Key。列标识也没有特定的数据类型,以二进制字节来存储。
5、单元(Cell): 每一个 行键,列族和列标识共同组成一个单元,存储在单元里的数据称为单元数据,单元和单元数据也没有特定的数据类型,以二进制字节来存储。
6、时间戳(Timestamp):单元值有时间版本,时间版本用时间戳标识,是一个long。默认情况下,时间戳表示的是当数据写入时RegionSever的时间点,但你也可以在写入数据时指定一个不同的时间戳。
详细介绍,点击

四、HBase分布式集群的相关配置

1.下载地址

https://archive.apache.org/dist/hbase/

2.hbase-env.sh配置

 export JAVA_HOME=/opt/modules/jdk1.8.0_11      
 export HBASE_MANAGES_ZK=false                  

注意去掉前面的“#”,如图:
在这里插入图片描述

3.hbase-site.xml配置

	<property>
		<name>hbase.rootdir</name>
		<value>hdfs://panda-pro01.xiong.com:9000/hbase</value>
	</property>
	
	<property>
		<name>hbase.cluster.distributed</name>
		<value>true</value>
	</property>
	
	<property>
		<name>hbase.zookeeper.quorum</name>
		<value>panda-pro01.xiong.com,panda-pro02xiong.com,panda-pro03.xiong.com</value>
	</property>

注意更改自己主机名

4.regionservers配置

panda-pro01.xiong.com
panda-pro02.xiong.com
panda-pro03.xiong.com

注意一台机器就填一个主机名,多台机器根据情况填写

5.Master-Backup配置(多台机器可以配置)

进入conf文件创建backup-masters,填入主机名,

touch backup-masters  
vi  backup-masters

填入主机名,这里我选择第二台主机。
在这里插入图片描述
分发到其他机器,我这里共有三台机器

scp -r backup-masters xiong@10.34.102.251:/opt/modules/hbase-0.98.6-hadoop2/conf/
scp -r backup-masters xiong@10.34.102.252:/opt/modules/hbase-0.98.6-hadoop2/conf/

配置这个文件是为了防止主机的master挂掉后,导致一些问题,当主机挂掉后,第二台机器会担任master对regionserver继续管理。

6.启动服务

启动hbase之前一定要先启动hadoop的namenode,datanode结点,还有zookeeper的zkServer,之后再启动hbase

bin/hbase-daemon.sh start master
bin/hbase-daemon.sh start regionserver

启动完成进入web界面看一看,如图:
在这里插入图片描述
地址

主机名+60010     例如:panda-pro01.xiong.com:60010
ip+60010         例如:10.34.102.250:60010

6.基本命令

首先进入hbase shell

bin/hbase shell

在这里插入图片描述
关于命令使用参考基本命令


总结

关于hbase基本配置就到这里了,萌新一位,若有不足之处,还请指正。😎😎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Panda°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值