hadoop hbase(七)

hadoop工具(二):hbase也是分布式,可扩展的大数据存储,HBase与HDFS的区别在于它是个数据库,数据库是基于文件系统(HDFS)提供的一种结构化数据的查询管理的一个系统
应用场景:
对数据进行随机的,实时的进行读写
相对于处理复杂的表与表之间的关系,以及关联查询的关系型数据库而言.HBASE是没有表与表的关联,是属于NoSql的范围

HBASE表结构:

  1. 建表时,不需要限定表中的字段,只需要指定若干个列族
  2. 插入数据时,一条数据中可以存储任意多个列(K-V,列名&列值),不在乎是否冗余,只要查询方便
  3. 一个Value可以有多个版本,通过版本号来区分(时间戳),要查询某一个具体字段的值,需要指定的坐标:表名–行键–列族(ColumnFamily)–列名(Qualifier)(sql中的字段)–版本
  4. 行键是唯一的

SQL记录的信息,只能是表中已经定义好的字段,而不能插入没有定义的字段,除非改变整个表结构

HBase是一很大很的表(big table),不可能是单机存储,是分布式管理和存储的
只要数据达到一定量之后,若干行就会切分成一个Region,Region会放在Region Server中

安装运行hbase,建立在集群之上

在cluster3中安装hbase
scp ./hbase-1.2.6-bin.tar.gz root@cluster3:/root

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
cd /root
tar -zxvf hbase-1.2.6-bin.tar.gz
cd hbase-1.2.6
rm -rf docs
cd conf
vim hbase-env.sh
# 告诉HBase使用外部的ZK
export HBASE_MANAGES_ZK=false
vim hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://ns1/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>zookeeper1:2181,zookeeper2:2181,zookeeper3:2181</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
</configuration>
vim regionservers
zookeeper1
zookeeper2
zookeeper3
cp ~/hadoop-2.8.1/etc/hadoop/{core-site.xml,hdfs-site.xml} ./
cd
mv hbase-1.2.6 hbase
mv hbase hadoop-2.8.1/
scp -r hadoop-2.8.1/hbase zookeeper1:/root/hadoop-2.8.1
scp -r hadoop-2.8.1/hbase zookeeper2:/root/hadoop-2.8.1
scp -r hadoop-2.8.1/hbase zookeeper3:/root/hadoop-2.8.1
scp -r hadoop-2.8.1/hbase cluster4:/root/hadoop-2.8.1
# 已经在zookeeper1-3启动
zkServer.sh start
hadoop-daemon.sh start journalnode
# 在cluster1启动
start-dfs.sh
# 在本机(cluster3:HMaster)
cd /root/hadoop-2.8.1/hbase/bin
./start-hbase.sh
# 在cluster4中执行
cd /root/hadoop-2.8.1/hbase/bin/
./hbase-daemon.sh start master
./hbase shell
version
# 访问http://cluster3:60010/
HBase基本概念
Share Comments