HBase基础和伪分布式安装配置

时间:2022-08-30 23:22:49

一、HBase(NoSQL)的数据模型

1.1 表(table),是存储管理数据的。

1.2 行键(row key),类似于MySQL中的主键,行键是HBase表天然自带的,创建表时不需要指定

1.3 列族(column family),列的集合。

一张表中有多个行健,一个行健读取出来的是一条记录,列族和MySQL中的列差不多,但是它是列的集合

HBase中列族是需要在定义表时指定的,列是在插入记录时动态增加的。

HBase表中的数据存储在本地磁盘上的时候,每个列族单独一个作为文件存储。

HBase基础和伪分布式安装配置

上图表示HBase中表的一行

和关系型数据库不同的是

关系型数据库一行中每一个列的值只能是一个,如:

UserId UserName

1 JChubby

而在NoSql中,一行里面某一个列的值可能是多个的,如上图,或者:

UserId UserName

1 JChubby

Looky

其中省略了timestamp时间戳这一列,但是在NoSql中读取这一行数据的出来时,数据应该是和关系型数据库读出来的是差不多的

时间戳列起到了标识列数据版本的作用,当没有指定时间戳的时候默认取的是最新的列数据,具体请参照上图

1.4 存储的数据都是字节数组。

二、HBase的物理模型

2.1 HBase是适合海量数据(如20PB)的秒级简单查询的数据库。

2.2 HBase表中的记录,按照行键进行拆分, 拆分成一个个的region。

如:在一个有1W行健的表中,每2K个行健拆分成一个region分别存储在不同的节点中,每个region记录着行健的起始位置和最终位置[startkey,endkey]

许多个region存储在region server(单独的物理机器)中的。

这样,对表的操作转化为对多台region server的并行查询。

HBase中有两种特殊的表,分别是-ROOT和.META

.META中记录着各个region的起止行健,当.META中的记录很大时,又会按照相同的规则拆分成不同的region记录中-ROOT表中

HBase基础和伪分布式安装配置

如上图所示,当要查询数据时,先找-ROOT表中记录的region信息,找到对应的.META表中的region,在到实际的节点上的region查询数据

三、HBase的体系结构

3.1 HBase是主从式结构,HMaster、HRegionServer

四、HBase伪分布安装

HBase的安装是是建立在hadoop和zookeeper集群之上的

安装时确保hadoop和zookeeper集群已安装成功并启动

4.1 解压缩、重命名、设置环境变量

把hbase-0.94.2-security.tar.gz复制到/home/hadoop

解压hbase-0.94.2-security.tar.gz与重命名

#cd /home/hadoop

#tar -zxvf hbase-0.94.2-security.tar.gz

#mv hbase-0.94.2-security hbase

修改/etc/profile文件。

#vi /etc/profile

增加

export HBASE_HOME=/home/hadoop/hbase

修改

export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HBASE_HOME/bin

保存退出

#source /etc/profile

4.2 修改$HBASE_HOME/conf/hbase-env.sh,修改内容如下:

export JAVA_HOME=/usr/java/jdk1.6.0_45

export HBASE_MANAGES_ZK=true

第一个配置java环境变量

第二个配置在本机器上的HBase可以自己启动zookeeper和使用

4.2 修改$HBASE_HOME/conf/hbase-site.xml,修改内容如下:

<property>

<name>hbase.rootdir</name>

<value>hdfs://master:9000/hbase</value>

</property>

<property>

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

<value>true</value>

</property>

<property>

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

<value>master</value>

</property>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

hbase.rootdir配置在hdfs文件系统上hbase存储的路径

hbase.cluster.distributed配置是否是分布式的

hbase.zookeeper.quorum配置zookeeper在哪个节点上

dfs.replication配置副本个数

注意:hbase.rootdir的主机和端口号与hadoop的配置文件core-site.xml的fs.default.name的主机和端口号一致

4.3 (可选)文件regionservers的内容为master,该文件记录regionserver的各个节点的主机名,因为是伪分布式安装,所只写一个,localhost或者主机名都可以

4.4 启动hbase,在bin目录下执行命令start-hbase.sh

******启动hbase之前,确保hadoop是运行正常的,并且可以写入文件*******

4.5 验证是否安装成功:

(1)执行jps,发现新增加了3个java进程,分别是HMaster、HRegionServer、HQuorumPeer

(2)使用浏览器访问http://master:16010,可以进入和hadoop类似的web管理页面

HBase基础和伪分布式安装配置的更多相关文章

  1. 吴超老师课程--Hbase介绍和伪分布式安装

    1.HBase(NoSQL)的数据模型1.1 表(table),是存储管理数据的.1.2 行键(row key),类似于MySQL中的主键.     行键是HBase表天然自带的.1.3 列族(col ...

  2. hbase 2&period;0&period;2 分布式安装配置&sol;jar包替换

    环境 zk: 3.4.10 hadoop 2.7.7 jdk8 hbase 2.0.2 三台已安装配置好的hadoop002,hadoop003,hadoop004 1.上传并解压hbase-2.1. ...

  3. hadoop2&period;5的伪分布式安装配置

    一.windows环境下安装 根据博主写的一次性安装成功了: http://blog.csdn.net/antgan/article/details/52067441 二.linux环境下(cento ...

  4. Hadoop 伪分布式安装配置

  5. 【hadoop之翊】——基于CentOS的hadoop2&period;4&period;0伪分布安装配置

    今天总算是把hadoop2.4的整个开发环境弄好了,包括 windows7上eclipse连接hadoop,eclipse的配置和測试弄得烦躁的一逗比了~ 先上一张成功的图片,hadoop的伪分布式安 ...

  6. hbase伪分布式安装(单节点安装)

    hbase伪分布式安装(单节点安装) http://hbase.apache.org/book.html#quickstart   1.    前提配置好java,环境java变量     上传jdk ...

  7. Hbase伪分布式安装

    前面的文章已经讲过hadoop伪分布式安装,这里直接介绍hbase伪分布式安装. 1. 下载hbase 版本hbase 1.2.6 2. 解压hbase 3. 修改hbase-env.sh 新增如下内 ...

  8. Hadoop生态圈-hbase介绍-伪分布式安装

    Hadoop生态圈-hbase介绍-伪分布式安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HBase简介 HBase是一个分布式的,持久的,强一致性的存储系统,具有近似最 ...

  9. 第二章 伪分布式安装hadoop hbase

    安装单机模式的hadoop无须配置,在这种方式下,hadoop被认为是一个单独的java进程,这种方式经常用来调试.所以我们讲下伪分布式安装hadoop. 我们继续上一章继续讲解,安装完先试试SSH装 ...

随机推荐

  1. sql server和mysql中分别实现分页功能

    MySQL 在MySQL中,可以用 Limit 来查询第 m 列到第 n 列的记录, 例如: select * from tablename limit m, n sql="select * ...

  2. acm算法模板(4)

    杂乱小模板 状态压缩dp小技巧 x&-x是取x的最后一个1的位置. x-=x&-x是去掉x的最后一个1. 读入外挂 int nxt_int(){// neg or pos    cha ...

  3. Python 中 os&period;path模板

    os.path.abspath(path) #返回绝对路径 os.path.basename(path) #返回文件名 os.path.commonprefix(list) #返回list(多个路径) ...

  4. 从代码都发布遇到的问题总结&lpar;C&num;调用非托管dll文件,部署项目&rpar; 转

    http://www.cnblogs.com/Purple_Xiapei/archive/2012/06/30/2570928.html

  5. Android 调用系统的分享[完美实现同一时候分享图片和文字]

    android 系统的分享功能 private void share(String content, Uri uri){ Intent shareIntent = new Intent(Intent. ...

  6. Jasper&lowbar;table&lowbar;resolve get multiple copies of table in detail band issue

    resolve method: (1) put table component into the Title band / Page Header band / Summary band, not i ...

  7. 【Unity3D自学记录】Unity3D网络之Socket聊天室初探

    首先创建一个服务端程序,这个程序就用VS的控制台程序做即可了. 代码例如以下: using System; using System.Collections.Generic; using System ...

  8. HTML核心标签之表格标签&lpar;二&rpar;

    基本用法: <ul type="cir"> <li>显示数据</li> <li>显示数据</li> </ul&gt ...

  9. P4177 &lbrack;CEOI2008&rsqb;order(网络流)最大权闭合子图

    P4177 [CEOI2008]order 如果不能租机器,这就是最大权闭合子图的题: 给定每个点的$val$,并给出限制条件:如果取点$x$,那么必须取$y_1,y_2,y_3......$,满足$ ...

  10. 天宝MB-Two:无法打开web登陆界面

    在浏览器中访问http://192.168.1.100,正常是打开MB-Two芯片的web 登陆界面,但是事与愿违,打开的是帮助界面. 解决办法: 用串口调试助手,波特率默认是115200,连接过去. ...