本文共 2552 字,大约阅读时间需要 8 分钟。
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 <property> <name>hbase.rootdir</name> <value>file:///root/training/hbase-1.3.1/data</value> </property>启动 HBase: start-hbase.sh
伪分布模式
hbase-env.sh 129 export HBASE_MANAGES_ZK=true hbase-site.xml <property> <name>hbase.rootdir</name> <value>hdfs://192.168.157.11:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>192.168.157.11</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> regionservers 192.168.157.11启动 HBase: start-hbase.sh
全分布模式
hbase-site.xml <property> <name>hbase.rootdir</name> <value>hdfs://192.168.157.12:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>192.168.157.12</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>hbase.master.maxclockskew</name> <value>180000</value> </property> 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 '表名'
本文转自 菜鸟的征程 51CTO博客,原文链接:http://blog.51cto.com/songqinglong/2055818
转载地址:http://vdtkx.baihongyu.com/