CentOS,大数据集群搭建,HBase数据模型,HBase集群搭建及管理

Hbase介绍

HBase定义

HBase是以HDFS为数据存储的一种分布式、可扩展的NoSQL数据库。

HBase数据模型

Hbase的设计理念依据是Google的BigTable论文论文中的介绍:BigTable是一个稀疏的、分布式的、持久的多维排序Map。

Base 数据模型主要由table、row、column、timestamp、cell几个元素构成。

table——表

一个表可能包含多行数据,表其实是一个分布式的表,真正的数据是存储在Region中的,Region可以理解为分片,每个表会包含多个分片,分别由不同的RegionServer管理,每个分片会有多个副本,以实现分片的高可用。

row——行

一行数据包含唯一的rowkey,多个column及对应的值,一张表中所有row都按照rowkey的字典顺序由小到大排列;因为数据在Region上的分布也与rowkey相关,所以在存储数据时,设计合理的rowkey使得数据尽可能在Region上分布均匀,在查询数据时就不会出现一个RegionServer负载过高,而其它RegionServer负载较低的情况。

column——列

列与关系型数据的列不同,HBase中的column由column family(列簇)和 qualifier(列)组成。两者之间使用 ":" 相连,一个列簇下可以有多个列。

cell——单元格

单元格由五元组(rowkey、column、timestamp、type、value)组成,其中type标识操作的类型(Put/Delete)这样的操作类型,在HBase底层以KV形式存储,key为(rowkey、column、timestamp、type),值为value。

timestamp——时间戳

每个单元格在写入HBase时都默认分配一个时间戳,作为单元格的版本,在写入时也可以自带时间戳,HBase支持多版本特性,同一个rowkey、column下可以有多个value存在,这些value使用timestamp作为版本号,版本号越大,数据越新。

Hbase安装

前置条件

安装环境:操作系统为CentOS,已配置免密登录,已配置Java环境变量,已安装Hadoop。

参考:Hadoop集群搭建、操作HDFS文件系统、Zookeeper集群安装搭建。

安装介质:hbase-2.0.5-bin.tar.gz,地址:https://hbase.apache.org/

安装服务器:node51(192.168.2.51),node52(192.168.2.52),node53(192.168.2.53)。

上传安装介质并解压(node51)

tar -zxvf hbase-2.0.5-bin.tar.gz -C /opt/module/
cd /opt/module
mv hbase-2.0.5 hbase

环境变量: sudo vim /etc/profile.d/my_env.sh

#配置环境变量
#HBASE_HOME
export HBASE_HOME=/opt/module/hbase
export PATH=$PATH:$HBASE_HOME/bin

#执行使环境变量生效
source /etc/profile
echo $HBASE_HOME

配置(hbase-env.sh):

#备份一下:
cd $HBASE_HOME/conf
cp hbase-env.sh hbase-env.sh.bak
cp hbase-site.xml hbase-site.xml.bak

# vim hbase-env.sh :
export HBASE_MANAGES_ZK=false

配置(vim hbase-site.xml):

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

    
    
        hbase.cluster.distributed
        true
    
    
    
        hbase.rootdir
        hdfs://node53:8020/hbase
    
    
    
        hbase.zookeeper.quorum
        node53,node54,node55
    
    
    
        hbase.zookeeper.property.clientPort
        2181
    
    
    
        zookeeper.session.timeout
        120000
    

配置(vim regionservers):

node53
node54
node55

分发到其它服务器节点: xsync.sh hbase

Hbase启停

单点启动:
bin/hbase-daemon.sh start master
bin/hbase-daemon.sh start regionservers
注:启动前先保证 hadoop和zookeeper。

集群启停:
bin/start-hbase.sh 
bin/stop-hbase.sh 
注:启动后的进程HRegionServer,其中node55多了一个HMaster进程。

Web访问:http://node53:16010/

进入命令行

bin/hbase shell

help

管理脚本(hbased.sh)

#!/bin/bash

if [ $# -lt 1 ]
then
	echo "没有参数: 传入参数为: start、stop"
fi

case $1 in
"start")
	ssh node55 "/opt/module/hbase/bin/start-hbase.sh"
;;
"stop")
	ssh node55 "/opt/module/hbase/bin/stop-hbase.sh"
;;
esac
展开阅读全文

页面更新:2024-06-16

标签:集群   单点   多维   数据   分布式   负载   介质   环境变量   操作   数据模型   时间

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top