@tsing1226
2016-05-06T17:44:09.000000Z
字数 2156
阅读 2009
hbase
HBase是Hadoop数据库,是分布式、可扩展、大表存储。
项目需求功能描述
海量数据(存储在HDFS)
实时查询(准实时查询)
场景
交通数据
账单数据(话费账单、银行交易账单)
游戏数据
电商交易数据
数据采集
sqoop(flume)
kettle
program(JDBC 与Java API)
HBase在hadoop生态系统中的位置
HBase的运行依赖于Hadoop HDFS文件系统提供数据的持久化,依赖Zookeeper提供集群的同步和协调。
Zookeeper有以下具体作用:
保证任何时候,集群都只有一个HMaster
实时监控Region Server的状态,将Region Server的上线和下线信息实时通知给HMaster
存储HBase目录表的寻址入口
存储Hbase的schema,包括哪些表,每个表有哪些列簇等各种元信息
安装 解压
替换jar包
hadoop-annotations-2.5.0.jar
hadoop-auth-2.5.0.jar
hadoop-common-2.5.0.jar
hadoop-hdfs-2.5.0.jar
hadoop-mapreduce-client-app-2.5.0.jar
hadoop-mapreduce-client-common-2.5.0.jar
hadoop-mapreduce-client-core-2.5.0.jar
hadoop-mapreduce-client-jobclient-2.5.0.jar
hadoop-mapreduce-client-shuffle-2.5.0.jar
hadoop-yarn-api-2.5.0.jar
hadoop-yarn-client-2.5.0.jar
hadoop-yarn-common-2.5.0.jar
hadoop-yarn-server-common-2.5.0.jar
hadoop-yarn-server-nodemanager-2.5.0.jar
zookeeper-3.4.5.jar
hbase-env.sh
export JAVA_HOME=/opt/modules/jdk1.7.0_67
export HBASE_MANAGES_ZK=false
mkdir -p data/tmp
hbase-site.xml
hbase.tmp.dir
/opt/modules/hbase-0.98.6-hadoop2/data/tmp
hbase.rootdir
hdfs://hadoop-senior01.grc.com:8020/hbase
hbase.cluster.distributed
true
hbase.zookeeper.quorum
hadoop-senior01.grc.com
、
启动
bin/hbase-daemon.sh start master
bin/hbase-daemon.sh start regionserver
[master:hadoop-senior01:60000] Configuration.deprecation: fs.default.name
is deprecated. Instead, use fs.defaultFS
2015-12-26 00:03:44,561 WARN [Thread-12] hdfs.DFSClient: DataStreamer Exception
org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /hbase/.tmp/hbase.version could only be
replicated to 0 nodes instead of minReplication (=1). There are 1 datanode(s) running and no node(s) a
re excluded in this operation.
原因:空间不足,
解决方案:增加linux的硬盘空间。在虚拟机设置里选择扩展增加空间大小。
HBase的查询模式
HBase通过行关键字、列(列簇名:列名)和时间戳的三元确定一个存储单元(cell)。
创建表
连接数据库
./bin/hbase shell
创建表
create 'test','cf'
put数据
put 'test','roew1','cf:a','value1'
put 'test','roew2','cf:b','value2'
put 'test','roew3','cf:c','value3'
Scan表中的全部数据
scan 'test'
Get a single row of data
Disable a table.
disable 'test'
re-enable a table
enable 'test'
Drop the table
drop 'test'
HBase中对数据检索方式
1 全部扫描
2 依据rowkey进行查询
3 范围查询 scan range 只支持前缀查询
HBase物理模型
理解HBase在HDFS上存储目录下的各个子目录和文件的含义。