十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
HBase 是一个 NoSQL 数据库
什么是 NoSQL 数据库?
基于 Key-value 来保存数据
NoSQL 数据库不支持事物
常见的 NoSQL 数据库:
HBase: 基于 HDFS ,面向列的数据库
表 ----> 目录
数据 ----> 文件
Redis: 基于内存的一个 NoSQL 数据库, 支持持久化(RDB,AOF)
前身: MemCached 不支持持久化
MongoDB: 文档型的 NoSQL 数据库(BSON文档,JSON的二进制)
Cassandra: 面向列的 NoSQL 数据库
HBase 的表结构
article(表)
rowkey | 内容 | 作者 | 评论 | ||
标题 | 正文 | 用户 | 内容 | ||
文章1 | 先有鸡还是先有蛋 | …… | 某人 | 喷手 | 鸡都不造你是肿么造的 |
文章…… | …… | …… | …… | …… | …… |
体系结构
HBase 环境部署:
本地模式 ---1台主机: 不需要 HDFS ,直接把数据存在操作系统上
1. 安装 JAVA 环境,修改环境变量
2. 安装 HBase
伪分布模式---1台主机: 需要HDFS 支持,数据直接存在 HDFS 上
1. 安装 JAVA 环境,修改环境变量
2. 部署 HDFS 伪分布式
3. 部署 HBase 伪分布式
全分布模式---3台主机: 需要HDFS 支持,数据直接存在 HDFS 上
1. 安装 JAVA 环境,修改环境变量
2. 部署 HDFS 全分布式
3. 部署 HBase 全分布式
HA 全分布模式---3台主机
环境部署前期准备:
设置环境变量 vi ~/.bash_profile
HBASE_HOME=/root/training/hbase-1.3.1
export HBASE_HOME
PATH=$HBASE_HOME/bin:$PATH
export PATH
本地模式:
hbase-env.sh
28 export JAVA_HOME=/root/training/jdk1.8.0_144
hbase-site.xml
启动 HBase: start-hbase.sh
伪分布模式
hbase-env.sh
129 export HBASE_MANAGES_ZK=true
hbase-site.xml
regionservers
192.168.157.11
启动 HBase: start-hbase.sh
全分布模式
hbase-site.xml
regionservers
192.168.157.13
192.168.157.14
scp -r hbase-1.3.1/ root@bigdata13:/root/training
scp -r hbase-1.3.1/ root@bigdata14:/root/training
启动 HBase: start-hbase.sh
HBase的HA
不需要额外配置,只用在其中一个从节点上单点启动Hmaster
启动 HBase: start-hbase.sh
bigdata13:hbase-daemon.sh start master
HBase Web Console网页端口:16010
HBase 命令行操作:
进入命令行:hbase shell
查看:
查看表:list
查询数据:
scan 相当于 select * from 表名
get 相当于 select * from 表名 where rowkey=?
插入数据:
put '表', ' 行', '列族:列名', '值'
put 'students', 'stu1', 'info:name', 'Tom'
清空表中的数据:
truncate '表名' ---------> 其实质就是先删除表,然后再创建
truncate 'students'
删除表:
disable '表名'
drop '表名'
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。