HBase讲解及部署
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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
hadoop分布式安装
分布式安装(至少三台主机): 环境所需软件: CentOS7 hadoop-2.7.3.tar.gz jdk-8u102-linux-x64.tar.gz 安装前准备工作: 修改 /etc/hosts 文件 vim /etc/hosts 内容: 192.168.10.11 bigdata1 192.168.10.12 bigdata2 192.168.10.13 bigdata3 配置免密钥登陆 cd ssh-keygen -t rsa 一直回车,直到结束 ssh-copy-id .ssh/id_rsa.pub bigdata1 ssh-copy-id .ssh/id_rsa.pub bigdata2 ssh-copy-id .ssh/id_rsa.pub bigdata3 同步时间 通过设置计划任务实现各主机间的时间同步 vim /etc/crontab 0 0 1root ntpdate -s time.windows.com 或者部署一个时间服务器实现同步,这里就不详细讲解了 (*)hdfs-site.xml <!--数据块的冗余度,默认是3--> <prope...
- 下一篇
hadoop+hbase集群错误解决
hadoop启动时会检查数据的完整性,当数据完整性小于设置的值时,会一直处于安全模式。可通过修改hdfs_site.xml中的以下参数来修改该配置 该参数默认为0.999f <property> <name>dfs.safemode.threshold.pct</name> <value>0.600f</value> </property> 本文转自 jxzhfei 51CTO博客,原文链接:http://blog.51cto.com/jxzhfei/1619746
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- 2048小游戏-低调大师作品
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果