在这篇blog中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面。搭建hbase伪分布式环境的前提是我们已经搭建好了hadoop完全分布式环境,搭建hadoop环境请参考:【Hadoop基础教程】4、Hadoop之完全分布式环境搭建

开发环境


硬件环境:Centos 6.5 服务器4台(一台为Master节点,三台为Slave节点) 
软件环境:Java 1.7.0_45、Eclipse Juno Service Release 2、hadoop-1.2.1、hbase-0.94.20。

1、 HBase 安装


1) 下载安装包

hbase-090.3.tar.gz版本与hadoop-1.2.1良好兼容,从官网下载hbase-090.3.tar.gz安装包,并将下载的hbase-090.3.tar.gz拷贝到/home/hadoop目录下。hbase官网下载地址:http://archive.apache.org/dist/hbase/ 
选择HBase-0.94.20版本,下载 HBase Releases.

2) 解压安装包

[hadoop@K-Master ~]$ cd /usr
[hadoop@K-Master usr]$ sudo tar -xvf /home/hadoop/hbase-090.3.tar.gz #解压安装源码包
[hadoop@K-Master usr]$ mv hbase-090.3 hbase #重命名
[hadoop@K-Master usr]$ cd hbase
[hadoop@K-Master hbase]$ sudo chown -R hadoop:hadoop hbase #赋予hbase安装目录下所有文件hadoop权限

3) 配置安装路径

#将hbase下的bin目录添加到系统的path中,在/etc/profile文件尾行添加如下的内容
[hadoop@K-Master usr]$ sudo vim /etc/profile
export PATH=$PATH:/usr/hbase/bin
#执行source命令使上述配置在当前终端立即生效
[hadoop@K-Master usr]$ source /etc/profile

4) 验证是否安装成功

[hadoop@K-Master usr]$ hbase version
// :: INFO util.VersionInfo: HBase 0.94.
// :: INFO util.VersionInfo: Subversion git://newbunny/home/lars/dev/hbase-0.94 -r 09c60d770f2869ca315910ba0f9a5ee9797b1edc
// :: INFO util.VersionInfo: Compiled by lars on Fri May :: PDT

看到以上打印消息表示Hbase已经安装成功,接下来将分别进行Hbase单机模式和伪分布式模式的配置。

2、 HBase单机模式


1) 配置/conf/hbase-env.sh

将JAVA_HOME变量设置为Java安装的根目录,配置如下所示:

[hadoop@K-Master hbase]$ vim conf/hbase-env.sh
#对hbase-env.sh文件做如下修改:
export JAVA_HOME=/usr/java/jdk1..0_65 #配置本机的java安装根目录
export HBASE_MANAGES_ZK=true #配置由hbase自己管理zookeeper,不需要单独的zookeeper。

2) 配置/conf/hbase-site.xml

在启动Hbase前需要设置属性hbase.rootdir,用于指定Hbase数据的存储位置,此处设置为HBase安装目录下的hbase-tmp文件夹即(file:///usr/hbase/hbase-tmp),配置如下:

[hadoop@K-Master hbase]$ vim conf/hbase-site.sh
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///usr/hbase/hbase-tmp</value>
</property>
</configuration>

特别注意:hbase.rootdir默认为/tmp/hbase-${user.name},这意味着每次重启系统都会丢失数据。

3) 启动Hbase

 [hadoop@K-Master hbase]$ start-hbase.sh
starting master, logging to /usr/hbase/bin/../logs/hbase-hadoop-master-K-Master.localdomain.out

4) 进入shell模式

进入shell模式之后,通过status命令查看Hbase的运行状态,通过exit命令退出shell。

[hadoop@K-Master hbase]$ hbase shell

HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.94., r09c60d770f2869ca315910ba0f9a5ee9797b1edc, Fri May :: PDT hbase(main)::> status
servers, dead, 2.0000 average load
hbase(main)::> exit

5) 停止HBase

[hadoop@K-Master hbase]$ stop-hbase.sh
stopping hbase.....................

特别注意:如果在操作Hbase的过程中发生错误,可以通过{HBASE_HOME}目录(/usr/hbase)下的logs子目录中的日志文件查看错误原因。

3、 HBase伪分布式模式


1) 配置/conf/hbase-env.sh

添加变量HBASE_CLASSPATH,并将路径设置为本机Hadoop安装目录下的conf目录(即{HADOOP_HOME}/conf)。修改完成后,hbase-env.sh的配置如下:

[hadoop@K-Master hbase]$ vim conf/hbase-env.sh
export JAVA_HOME=/usr/java/jdk1..0_65
export HBASE_CLASSPATH=/usr/hadoop/conf
export HBASE_MANAGES_ZK=true

2) 配置/conf/hbase-site.xml

修改hbase.rootdir,将其指向K-Master(与hdfs的端口保持一致),并指定HBase在HDFS上的存储路径。将属性hbase.cluter.distributed设置为true。假设当前Hadoop集群运行在伪分布式模式下,且NameNode运行在9000端口;

[hadoop@K-Master hbase]$ vim hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://K-Master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</configuration>

原作者没有写监控页面如何配置与启动,还是hbase-site.xml,加上

<property>  

             <name>hbase.master.info.port</name>  

             <value></value>  

      </property>

然后访问   http://master:16010/master-status

3) 启动HBase

完成以上操作后启动HBase,启动顺序:先启动Hadoop–>再启动HBase,关闭顺序:先关闭HBase–>再关闭Hadoop。

第一步:启动hadoop集群

[hadoop@K-Master hbase]$ start-all.sh          #启动hadoop
[hadoop@K-Master hbase]$ jps #查看进程
DataNode
Jps
SecondaryNameNode
JobTracker
TaskTracker
NameNode

特别注意:读者可先通过jps命令查看Hadoop集群是否启动,如果Hadoop集群已经启动,则不需要执行Hadoop集群启动操作。

第二步:启动HBase

[hadoop@K-Master lib]$ start-hbase.sh          #启动Hbase
K-Master: starting zookeeper, logging to /usr/hbase/bin/../logs/hbase-hadoop-zookeeper-K-Master.localdomain.out
starting master, logging to /usr/hbase/bin/../logs/hbase-hadoop-master-K-Master.localdomain.out
K-Master: starting regionserver, logging to /usr/hbase/bin/../logs/hbase-hadoop-regionserver-K-Master.localdomain.out
[hadoop@K-Master lib]$ jps #查看进程
DataNode
HMaster
Jps
SecondaryNameNode
HRegionServer
JobTracker
TaskTracker
HQuorumPeer
NameNode

4) 进入shell模式

进入shell模式之后,通过list命令查看当前数据库所有表信息,通过create命令创建一个member表,其拥有member_id,address,info三个列族,通过describe命令查看member表结构,通过exit命令退出HBase shell模式。

[hadoop@K-Master hadoop]$ hbase shell
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.94., r09c60d770f2869ca315910ba0f9a5ee9797b1edc, Fri May :: PDT hbase(main)::> create 'member','member_id','address','info'
row(s) in 2.7170 seconds hbase(main)::> list
TABLE
member
row(s) in 0.0550 seconds hbase(main)::> describe 'member'
DESCRIPTION ENABLED
'member', {NAME => 'address', DATA_BLOCK_ENCODING = true
> 'NONE', BLOOMFILTER => 'NONE', REPLICATION_SCOPE
=> '', VERSIONS => '', COMPRESSION => 'NONE', MIN
_VERSIONS => '', TTL => '', KEEP_DELETED
_CELLS => 'false', BLOCKSIZE => '', IN_MEMORY
=> 'false', ENCODE_ON_DISK => 'true', BLOCKCACHE =>
'true'}, {NAME => 'info', DATA_BLOCK_ENCODING => '
NONE', BLOOMFILTER => 'NONE', REPLICATION_SCOPE =>
'', VERSIONS => '', COMPRESSION => 'NONE', MIN_VE
RSIONS => '', TTL => '', KEEP_DELETED_CE
LLS => 'false', BLOCKSIZE => '', IN_MEMORY =>
'false', ENCODE_ON_DISK => 'true', BLOCKCACHE => 't
rue'}, {NAME => 'member_id', DATA_BLOCK_ENCODING =>
'NONE', BLOOMFILTER => 'NONE', REPLICATION_SCOPE =
> '', VERSIONS => '', COMPRESSION => 'NONE', MIN_
VERSIONS => '', TTL => '', KEEP_DELETED_
CELLS => 'false', BLOCKSIZE => '', IN_MEMORY =
> 'false', ENCODE_ON_DISK => 'true', BLOCKCACHE =>
'true'}
row(s) in 0.1040 seconds hbase(main)::> exit

5) 查看HDFS的HBase数据库文件

通过hadoop fs –ls /hbase命令查看HBase分布式数据库在HDFS上是否成功创建,/hbase/member文件夹即为上一步我们所建立的member数据库在HDFS上的存储位置。

[hadoop@K-Master conf]$ hadoop fs -ls /hbase
Found items
drwxr-xr-x - hadoop supergroup -- : /hbase/-ROOT-
drwxr-xr-x - hadoop supergroup -- : /hbase/.META.
drwxr-xr-x - hadoop supergroup -- : /hbase/.logs
drwxr-xr-x - hadoop supergroup -- : /hbase/.oldlogs
drwxr-xr-x - hadoop supergroup -- : /hbase/.tmp
-rw-r--r-- hadoop supergroup -- : /hbase/hbase.id
-rw-r--r-- hadoop supergroup -- : /hbase/hbase.version
drwxr-xr-x - hadoop supergroup -- : /hbase/member

6) HBase用户界面: 
通过下面的链接可以访问Hbase的一些相关信息,链接说明如下表格所示:

7) 停止HBase

完成上述操作后,执行关闭HBase操作,关闭顺序:先关闭HBase —>再关闭Hadoop。

[hadoop@K-Master hadoop]$ stop-hbase.sh    #停止Hbase
stopping hbase..................
K-Master: stopping zookeeper. [hadoop@K-Master hadoop]$ stop-all.sh #停止Hadoop
stopping jobtracker
K-Master: stopping tasktracker
stopping namenode
K-Master: stopping datanode
K-Master: stopping secondarynamenode

4、 HBase的用户界面


1) HDFS主页

输入http://{主机名}:50070/dfshealth.jsp 进入HDFS主页,在该主页点击“Browse the filesystem”超链接,选择hbase目录,可以查看HBase在HDFS上生成的/hbase目录结构,该目录用于存放Hbase数据,如下图所示;

2) Master页面

通过地址http://{主机名}:60010/master.jsp 可以查看HBase的相关信皂,如下图所示。

主要包含的信息如下:

  • Attributes信息

Master属性信息包含了当前集群的详细信息,从上往下依次为HBase的版本及编译信息、Hadoop的版本及编译信息、HBase根目录的路径、Region服务器的平均负载以及ZooKeeper Quorums的地址。

  • Tables信息

用户表信息给出了HBase中的表信息及相关属性,目录表信息包含两个目录表:-ROOT-和.META.;

点击上图[Details]链接,跳转到Tables Details界面,如下图所示:

  • Region Servers信息

Region服务器信息给出了所有Region服务器的地址,如下图所示;

3) ZooKeeper页面

通过Master页面中Master属性提供的链接,可以进入ZooKeeper页面,该页面显示了HBase的根目录、省前的主Master地址、保存-ROOT-表的Region服务器的地址、其他Region服务器的地址及ZooKeeper的一些内部信息,如下图所示。

4) 用户表页面

通过Master页面中用户表信息提供的链接http://{主机名}:60010/table.jsp?name=user ,可以进入用户表页面,如下图所示。该页面给出了表当前是否可用以及表在Region服务器上的信息。同时提供了根据行键合并及拆分表的操作。

5) Region服务器页面

通过Master页面中Region服务器信息提供的链接,可以进入Region服务器页面,该页面显示了Region服务器的基本属性和其上所有Regions的信息,如下图所示。

参考

http://hbase.apache.org/book.html#_getting_started

【HBase基础教程】1、HBase之单机模式与伪分布式模式安装(转)的更多相关文章

  1. HBase入门基础教程之单机模式与伪分布式模式安装(转)

    原文链接:HBase入门基础教程 在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Had ...

  2. HBase入门基础教程 HBase之单机模式与伪分布式模式安装

    在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Hadoop完全分布式环境,搭建Hado ...

  3. Hadoop Single Node Setup(hadoop本地模式和伪分布式模式安装-官方文档翻译 2.7.3)

    Purpose(目标) This document describes how to set up and configure a single-node Hadoop installation so ...

  4. 啃掉Hadoop系列笔记(04)-Hadoop运行模式之伪分布式模式

    伪分布式模式等同于完全分布式,只是她只有一个节点. 一) HDFS上运行MapReduce 程序 (1)配置集群 (a)配置:hadoop-env.sh Linux系统中获取jdk的安装路径:

  5. Hadoop的单机模式、伪分布式模式和完全分布式模式

    1.单机(非分布式)模式 这种模式在一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统. 2.伪分布式运行模式 这种模式也是在一台单机上运行,但用不同的Java进程模仿分布式运行中 ...

  6. 3 hadoop安装Standalone模式和伪分布式模式

    1 Standalone模式默认模式,即默认配置即是standalone模式装好hadoop-client,会将依赖的包安装好yum install hadoop-client配置文件各个配置文件在/ ...

  7. 云计算课程实验之安装Hadoop及配置伪分布式模式的Hadoop

    一.实验目的 1. 掌握Linux虚拟机的安装方法. 2. 掌握Hadoop的伪分布式安装方法. 二.实验内容 (一)Linux基本操作命令 Linux常用基本命令包括: ls,cd,mkdir,rm ...

  8. 搭建HBase的本地模式、伪分布式、全分布式和HA模式

    一.安装HBase: 我这里选择的是hbase-1.3.1-bin.tar.gz版本解压HBase: tar -zxvf hbase-1.3.1-bin.tar.gz -C ~/training 配置 ...

  9. Hadoop三种安装模式:单机模式,伪分布式,真正分布式

    Hadoop三种安装模式:单机模式,伪分布式,真正分布式 一 单机模式standalone单 机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守 ...

随机推荐

  1. laravel按月/时间区间查询数据

    public function payRollList($time) { $member_phone = Session::get(phone'); $engineer = Engineer::get ...

  2. js中立即执行函数写法理解

    在理解了一些函数基本概念后,回头看看( function(){…} )()和( function (){…} () )这两种立即执行函数的写法,最初我以为是一个括号包裹匿名函数, 并后面加个括号立即调 ...

  3. [Math Review] Statistics Basics: Main Concepts in Hypothesis Testing

    Case Study The case study Physicians' Reactions sought to determine whether physicians spend less ti ...

  4. Lightoj 1348 Aladdin and the Return Journey (树链剖分)(线段树单点修改区间求和)

    Finally the Great Magical Lamp was in Aladdin's hand. Now he wanted to return home. But he didn't wa ...

  5. SQL 增删改查 复习

    首先创建两张表 CREATE TABLE Teacher ( Id ,) NOT NULL PRIMARY KEY, Name ) NOT NULL, ); CREATE TABLE Student ...

  6. NOI2014 部分题解

    感觉NOI2014的一些题目也是比较好做的... 但是笔者往往有思路却没有想清楚就开始搞了...这样还是不太好.. Day1 T1 起床困难综合征  (我感觉这题应该叫综合征不是综合症...)   a ...

  7. 玩转Nuget服务器搭建(一)

    背景                                                                                      公司项目是分模块进行架构 ...

  8. DotnetBrowser高级教程-(4)使用MVC框架5-使用视图

    mvc框架理所当然的要支持view了,我们看下前面上传文件的地方,在展示页面时,我们使用了如下的代码: public string UploadImgPage() { return "< ...

  9. 让用VS2012/VS2013编写的程序在XP中顺利执行

    微软为了推销自家平台,默认配置下VS2012和VS2013编写的应用程序仅仅能在Vista/Win7/Win8上执行.但幸好还保留了生成XP程序的设置项.XP和Win2003的用户还是大量存在的,我们 ...

  10. gcc 4.8更新gcc 4.9 5.4版本等

    转载:http://www.linuxidc.com/Linux/2017-01/139976.htm 如果还在使用较旧版本的Ubuntu,或者是Ubuntu LTS,那么我们是很难体验新版gcc的. ...