一、安装前置条件说明

1.1 JDK版本说明

HBase 需要依赖JDK环境,同时HBase 2.0+ 以上版本不再支持JDK 1.7 ,需要安装JDK 1.8+ 。JDK 安装方式见本仓库:

Linux环境下JDK安装

1.2 Standalone模式和伪集群模式的区别

  • Standalone模式下,所有守护进程都运行在一个jvm进程/实例中;
  • 在伪分布模式下,HBase仍然在单个主机上运行,但是每个守护进程(HMaster,HRegionServer 和 ZooKeeper)则分别作为一个单独的进程运行。

说明:两种模式任选其一进行部署即可,对于开发测试来说区别不大。

二、Standalone 模式

2.1 下载并解压

官方网站下载所需要版本的二进制安装包,并进行解压:

  1. # tar -zxvf hbase-2.1.4-bin.tar.gz

2.2 配置环境变量

  1. # vim /etc/profile

添加环境变量:

  1. export HBASE_HOME=/usr/app/hbase-2.1.4
  2. export PATH=$HBASE_HOME/bin:$PATH

使得配置的环境变量生效:

  1. # source /etc/profile

2.3 进行HBase相关配置

修改安装目录下的conf/hbase-env.sh,指定JDK的安装路径:

  1. # The java implementation to use. Java 1.8+ required.
  2. export JAVA_HOME=/usr/java/jdk1.8.0_201

修改安装目录下的conf/hbase-site.xml,增加如下配置:

  1. <configuration>
  2. <property>
  3. <name>hbase.rootdir</name>
  4. <value>file:///home/hbase/rootdir</value>
  5. </property>
  6. <property>
  7. <name>hbase.zookeeper.property.dataDir</name>
  8. <value>/home/zookeeper/dataDir</value>
  9. </property>
  10. <property>
  11. <name>hbase.unsafe.stream.capability.enforce</name>
  12. <value>false</value>
  13. </property>
  14. </configuration>

hbase.rootdir: 配置hbase数据的存储路径;

hbase.zookeeper.property.dataDir: 配置zookeeper数据的存储路径;

hbase.unsafe.stream.capability.enforce: 使用本地文件系统存储,不使用HDFS的情况下需要禁用此配置,设置为false。

2.4 启动HBase

由于已经将HBase的bin目录配置到环境变量,直接使用以下命令启动:

  1. # start-hbase.sh

2.5 验证启动是否成功

验证方式一 :使用jps命令查看HMaster进程是否启动。

  1. [root@hadoop001 hbase-2.1.4]# jps
  2. 16336 Jps
  3. 15500 HMaster

验证方式二 :访问HBaseWeb UI 页面,默认端口为16010

三、伪集群模式安装(Pseudo-Distributed)

3.1 Hadoop单机伪集群安装

这里我们采用HDFS作为HBase的存储方案,需要预先安装Hadoop。Hadoop的安装方式单独整理至:

Hadoop单机伪集群搭建

3.2 Hbase版本选择

HBase的版本必须要与Hadoop的版本兼容,不然会出现各种Jar包冲突。这里我Hadoop安装的版本为hadoop-2.6.0-cdh5.15.2,为保持版本一致,选择的HBase版本为hbase-1.2.0-cdh5.15.2 。所有软件版本如下:

  • Hadoop 版本: hadoop-2.6.0-cdh5.15.2
  • HBase 版本: hbase-1.2.0-cdh5.15.2
  • JDK 版本:JDK 1.8

3.3 软件下载解压

下载后进行解压,下载地址:http://archive.cloudera.com/cdh5/cdh/5/

  1. # tar -zxvf hbase-1.2.0-cdh5.15.2.tar.gz

3.4 配置环境变量

  1. # vim /etc/profile

添加环境变量:

  1. export HBASE_HOME=/usr/app/hbase-1.2.0-cdh5.15.2
  2. export PATH=$HBASE_HOME/bin:$PATH

使得配置的环境变量生效:

  1. # source /etc/profile

3.5 进行HBase相关配置

1.修改安装目录下的conf/hbase-env.sh,指定JDK的安装路径:

  1. # The java implementation to use. Java 1.7+ required.
  2. export JAVA_HOME=/usr/java/jdk1.8.0_201

2.修改安装目录下的conf/hbase-site.xml,增加如下配置(hadoop001为主机名):

  1. <configuration>
  2. <!--指定 HBase 以分布式模式运行-->
  3. <property>
  4. <name>hbase.cluster.distributed</name>
  5. <value>true</value>
  6. </property>
  7. <!--指定 HBase 数据存储路径为HDFS上的hbase目录,hbase目录不需要预先创建,程序会自动创建-->
  8. <property>
  9. <name>hbase.rootdir</name>
  10. <value>hdfs://hadoop001:8020/hbase</value>
  11. </property>
  12. <!--指定 zookeeper 数据的存储位置-->
  13. <property>
  14. <name>hbase.zookeeper.property.dataDir</name>
  15. <value>/home/zookeeper/dataDir</value>
  16. </property>
  17. </configuration>

3.修改安装目录下的conf/regionservers,指定region servers的地址,修改后其内容如下:

  1. hadoop001

3.6 启动

  1. # bin/start-hbase.sh

3.7 验证启动是否成功

验证方式一 :使用jps命令查看进程。其中HMasterHRegionServer是HBase的进程,HQuorumPeer是HBase内置的Zookeeper的进程,其余的为HDFS和YARN的进程。

  1. [root@hadoop001 conf]# jps
  2. 28688 NodeManager
  3. 25824 GradleDaemon
  4. 10177 Jps
  5. 22083 HRegionServer
  6. 20534 DataNode
  7. 20807 SecondaryNameNode
  8. 18744 Main
  9. 20411 NameNode
  10. 21851 HQuorumPeer
  11. 28573 ResourceManager
  12. 21933 HMaster

验证方式二 :访问HBase Web UI 界面,需要注意的是1.2 版本的HBase的访问端口为60010

更多大数据系列文章可以参见个人 GitHub 开源项目: 程序员大数据入门指南

HBase 学习之路(三)—— HBase基本环境搭建的更多相关文章

  1. C++学习之路——1.linux下环境搭建

    学习之路,可说各有各的看法和方法.对于我来说,完全是兴趣一下子来了,脑壳发热吧.就想有个干净的环境,只想着与程序有关的东西练一练. 目前想学习C++,可是打开VC++6,再安了VS2010.VS201 ...

  2. maven学习日记(三)-------开发环境搭建(springmvc+hibernate4)各种maven错误汇总

    1.maven编码 gbk 的不可映射字符 解决这个问题的思路: 在maven的编译插件中声明正确的字符集编码编码——编译使用的字符集编码与代码文件使用的字符集编码一致!! 安装系统之后,一般中文系统 ...

  3. 学习之路三十九:新手学习 - Windows API

    来到了新公司,一开始就要做个程序去获取另外一个程序里的数据,哇,挑战性很大. 经过两周的学习,终于搞定,主要还是对Windows API有了更多的了解. 文中所有的消息常量,API,结构体都整理出来了 ...

  4. 【SpringCloud之pigx框架学习之路 】2.部署环境

    [SpringCloud之pigx框架学习之路 ]1.基础环境安装 [SpringCloud之pigx框架学习之路 ]2.部署环境 1.下载代码 git clone https://git.pig4c ...

  5. 【SpringCloud之pigx框架学习之路 】1.基础环境安装

    [SpringCloud之pigx框架学习之路 ]1.基础环境安装 [SpringCloud之pigx框架学习之路 ]2.部署环境 1.Cmder.exe安装 (1) windows常用命令行工具 下 ...

  6. 【菜鸟学习Linux】-第三章- Linux环境搭建-使用VMware9安装Ubuntu 12.04系统

    上一步,我们安装了VMware9虚拟机,现在我们就是用它来安装Ubuntu12.04系统,至于Ubuntu是什么,我就不废话了,大家google一下,比我讲的清楚,好了,开始干活! Ubuntu官网下 ...

  7. Linux学习之CentOS(一)--CentOS6.4环境搭建

    Linux学习之CentOS(一)--CentOS6.4环境搭建http://www.cnblogs.com/xiaoluo501395377/archive/2013/03/31/CentOs.ht ...

  8. Java web与web gis学习笔记(一)——Tomcat环境搭建

    系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...

  9. Qt在Windows下的三种编程环境搭建

    尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/17363165 从QT官网可以得知其支持的平台.编译器 ...

  10. Qt4.8在Windows下的三种编程环境搭建

    Qt4.8在Windows下的三种编程环境搭建 Qt的版本是按照不同的图形系统来划分的,目前分为四个版本:Win32版,适用于Windows平台:X11版,适合于使用了X系统的各种Linux和Unix ...

随机推荐

  1. c#开发移动APP-Xamarin入门剖析

    原文:c#开发移动APP-Xamarin入门剖析 剖析应用程序 Phoneword这个项目是.net标准库项目,它包含所有的共享代码和共享UI. Phoneword.Android这个项目包含Andr ...

  2. MySQL SYS CPU高的案例分析(一)

    原文:MySQL SYS CPU高的案例分析(一) [现象] 最近关注MySQL CPU告警的问题时,发现有一种场景,有一些服务器最近都较频繁的出现CPU告警,其中的现象是 SYS CPU占比较高. ...

  3. python3使用多代理访问网站

    #------------------------------------------------------------------------------- # Name: module1 # P ...

  4. Cocos2d-x 3.1 一步一步地做改编

    本文并不想谈论的屏幕改编或真理的概念.假设不知道cocos2d-x的,请先看这篇文章:http://www.cocoachina.com/gamedev/cocos/2014/0516/8451.ht ...

  5. hdu3118Arbiter (使用二分图的定义,枚举每个状态)

    Arbiter Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Sub ...

  6. js调查server

    <script type="text/javascript"> function showUnreadNews() { $(document).ready(functi ...

  7. WPF在3D Cad模型中利用TextureCoordinates实现颜色渐变显示偏差值的变化

    原文:WPF在3D Cad模型中利用TextureCoordinates实现颜色渐变显示偏差值的变化 注:最近在做3D机械模型重建方面的软件,需要根据光栅传感器采集的数据绘制3D图形,并显示出色差以及 ...

  8. Asp.NET的目的是学习

    一.概观 二.具体介绍 1.Request对象 Request对象是用来获取client在请求一个页面或传送一个Form时提供的全部信息.这包含可以标识浏览器和用户的HTTP变量.存储在client的 ...

  9. Mybatis 一对多 配置文件

    当一个Entity中包含的属性有对象和对象集合时,用mybatis映射时要在Entity中添加一个字段来唯一标识当前的Entity对象.否则查询的Entity集合中的对象会被覆盖掉. 如下一个POJO ...

  10. js table鼠标点击时变色

    <head>    <title></title>    <script type="text/javascript">      ...