HBase安装和启动
认识HBase
HBase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,该技术来源于Google论文“Bigtable:一个结构化数据的分布式存储系统”。利用HBase技术可在廉价PC Server上搭建大规模结构化存储集群。
HBase是Google Bigtable的开源实现,与Google Bigtable利用GFS作为其文件存储系统类似,HBase利用Hadoop HDFS作为其文件存储系统;Google 运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用Chubby作为协同服务,HBase利用Zookeeper作为对应。
特点:
- 大:一个表可以有上亿行,上百万列。
- 面向列:面向列(族)的存储和权限控制,列(族)独立检索。
- 稀疏:对于空(NULL)的列,并不占用存储空间,因此,表可以设计的非常稀疏。
前期准备
- HBase依赖于Zookeeper,所以要安装好Zookeeper
- 下载HBase。不同的Hadoop版本支持不同版本的HBase,可根据Hadoop版本在官方网站进行查询对应支持的HBase版本。官方地址
1. 解压HBase
#直接解压HBase压缩包
tar -zxvf hbase-0.96.2-hadoop2-bin.tar.gz -C /hadoop/app
2. 修改3个配置文件(配置文件目录:hbase-0.96.2-hadoop2/conf/
)
修改HBase运行环境变量,修改文件
hbase-env.sh
vim hbase-env.sh
#修改原文件中 #export JAVA_HOME=/usr/java/jdk1.6.0为
export JAVA_HOME=/home/hadoop/app/jdk1.7.0_65
#关闭hbase自带的zk,使用外部zk
#将原文件中#export HBASE_MANAGES_ZK=true修改为
export HBASE_MANAGES_ZK=false
修改
hbase-site.xml
vim hbase-site.xml
<configuration>
<!-- 指定hbase在HDFS上存储的路径 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>master:2181,slave1:2181,slave2:2181</value>
</property>
</configuration>
修改
regionservers
文件
vim regionservers
#清除原来内容,修改为
master
slave1
slave2
3. 将hadoop的hdfs-site.xml
和core-site.xml
放到hbase/conf
下
因为在hbase-site.xml
下指定了hdfs
文件系统的路径,所以要将这两个含有hdfs配置的文件做拷贝
#在hbase-0.96.2-hadoop2/conf/下执行以下命令
cp ~/app/hadoop-2.4.1/etc/hadoop/{core-site.xml,hdfs-site.xml} ./
4. 拷贝HBase到其他节点
scp -r hbase-0.96.2-hadoop2/ slave1:/home/hadoop/app
scp -r hbase-0.96.2-hadoop2/ slave2:/home/hadoop/app
5. 启动HBase
在三个节点上分别启动Zk
#在三个节点的zookeeper/bin目录下分别执行
./zkServer.sh start
启动HDFS
#在master节点上执行
start-dfs.sh
启动HBase(在主节点上运行,这里选master作为主节点)
#在HBase的bin目录下执行
./start-hbase.sh
6. 验证
- 若启动成功,在master上执行
jps
命令可查看到Hmaster
进程,在另外两个节点上执行jps
则可以查看到HRegionServer
进程 - 若启动成功,可通过浏览器访问HBase管理页面
192.168.1.201:60010
注:若
HMaster
进程启动不成功,首先分别在集群主机中使用date
命令,检查集群时间是否同步。然后检查/etc/hosts
文件,将127.0.0.1
的ip地址改为本地的真实地址,例192.168.1.201
7. 提高可靠性
HMaster
主要负责Table表
和HRegion
的管理工作,为保证集群的可靠性,要启动多个HMaster
.
#在slave1节点上,HBase的bin目录下执行
./hbase-daemon.sh start master
若启动成功,可在jps命令执行结果中查看到HMaster进程。
HBase安装和启动的更多相关文章
- HBase安装及简单使用
通过之前的hadoop0.20.2的安装并调试成功,接下来我们继续安装hbase0.90.5.在安装hbase0.90.5之前,因为hbase0.90.5只支持jdk1.6,所以,我把之前的jdk1. ...
- Hbase安装配置(靠谱亲测)
Hbase是Hadoop生态系统中的NoSql列式数据库.通过Hbase,可以进行数据读写,比较适合Top n场景.Hbase搭建的系统,瓶颈在于硬盘的传输速度.RDBMS一般的瓶颈在于寻道速度. 实 ...
- hbase安装
HBase的安装 本篇介绍两种HBase的安装方式:本地安装方式和伪分布式安装方式. 安装的前提条件是已经成功安装了hadoop,而且hadoop的版本要和hbase的版本相匹配. 我将要安装的hba ...
- Hbase总结(一)-hbase命令,hbase安装,与Hive的区别,与传统数据库的区别,Hbase数据模型
Hbase总结(一)-hbase命令 下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令表达式 创建表 create '表名称', ...
- HBase安装inAction
在安装Hbase之前,需要有hadoop的运行环境,关于hadoop的安装过程,请查看我之前的blog:hadoop安装笔记:或者另一个博主的超详细文章http://weixiaolu.iteye.c ...
- hbase安装配置(整合到hadoop)
hbase安装配置(整合到hadoop) 如果想详细了解hbase的安装:http://abloz.com/hbase/book.html 和官网http://hbase.apache.org/ 1. ...
- hbase总结(二)-hbase安装
本篇介绍两种HBase的安装方式:本地安装方式和伪分布式安装方式. 安装的前提条件是已经安装成功了hadoop,并且hadoop的版本号要和hbase的版本号相匹配. 我将要安装的hbase是hbas ...
- 大数据: 完全分布式Hadoop集群-HBase安装
HBase 是一个开源的非关系(NoSQL)的可伸缩性分布式数据库.它是面向列的,并适合于存储超大型松散数据.HBase适合于实时,随机对Big数据进行读写操作的业务环境. 本文基 ...
- 指导手册06:HBase安装部署
指导手册06:HBase安装部署 配置环境 1.参考文件: https://www.cnblogs.com/lzxlfly/p/7221890.html https://www.cnblogs.com ...
随机推荐
- 转载 ORACLE中实现表变量的方法
源文地址:http://blog.itpub.net/750077/viewspace-2134222/ 经常看到SQLSERVER 中用表变量类型的方式就能做到缓存一个比较大的中间结果, 然后再对这 ...
- 笔记本用HDMI、VGA连接高清电视全过程实录2——各种问题
内容中包含 base64string 图片造成字符过多,拒绝显示
- 根据马甲、应用商店、统计每天的注册量,要求可以根据选择马甲和app,马甲和appstrore和user_login不同表问题
这个马甲属于一个表,appStore另一张表,用户登录表,主要操作的就是这三个表. 我这里的马甲和app的id都与用户登录表中的channel对应,在channel存放的是majiaId + “|” ...
- MYeclipes项目导入导出
导入: 右键,import,
- 解决IE8地址栏没有下拉
装了IE8,但是地址栏没有下拉,下载下面的文件,把两个文件都复制到 系统盘windows/system32,然后cmd下分别执行 regsvr32 chsbrkr.dll regsvr32 chtbr ...
- 简单CSS3代码实现立方体以及3D骰子
1 实现3D立方体 首先准备好UL以及6个Li: 代码如下 ul { position: absolute; top: 50%; left: 50%; transform:translate(-50% ...
- 第24课 #pragma使用分析
#pragma是C语言留给编译器厂商进行扩展用的. 这个关键字在不同的编译器之间也许是不能够移植的. #pragma简介 #pragma message #pragma message打印的消息并不代 ...
- 實驗項目wordcount
wordcount 1.设计思路 第一步 :主函数参数使用命令行参数,定义一个文件指针fp. 第二步:判断能否用只读的形式打开命令行指针中的文件,并让指针指向打开函数,若不能则输出不能读取文件,否则下 ...
- PyQt4 py2exe 打包 HardwareManager
#!/usr/bin/env python # -*- coding: UTF-8 -*- # 1. 以下代码保存在HardwareManager项目的目录下,名称叫:setup.py: # 2. 打 ...
- .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
我们有很多种方法评估一个方法的执行耗时,比如使用性能分析工具,使用基准性能测试.不过传统的在代码中编写计时的方式依然有效,因为它可以生产环境或用户端得到真实环境下的执行耗时. 如果你希望在 .NET/ ...