在这篇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. 先刷一波简单的web前端面试题

    1简述一下src与href的区别href 是指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,用于超链接.src是指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置 ...

  2. 洛谷 P1506 拯救oibh总部【DFS/Flood Fill】

    题目背景 oibh总部突然被水淹没了!现在需要你的救援…… 题目描述 oibh被突来的洪水淹没了>.<还好oibh总部有在某些重要的地方起一些围墙,用号表示,而一个封闭的号区域洪水是进不去 ...

  3. csu1808

    csu1808 题意 n 个点间有 m 条地铁,每条地铁可能属于不同的线路,每条地铁有权值即通过时花费的时间,如果乘坐第 i 条地铁来到地铁站 s,再乘坐第 j 条地铁离开,需要花费额外的时间 \(| ...

  4. 山东多校联合模拟赛 Day1

    矩形计数(rect) Description 给出圆周上的 \(N\) 个点,请你计算出以这些点中的任意四个为四个角,能构成多少个矩 形. 点的坐标是这样描述的,给定一个数组 \(v[1..N]\), ...

  5. redis代替kafka做缓存队列

    前言:刚上线elk一个月左右,使用的kafka作为缓存队列,但是不知道为何,中间发生过好几次,elk突然没数据了,长达好几天都没有,      折腾了好久,好了,过几天又发生同样的状况.经查找,数据是 ...

  6. 六. 异常处理8.throws子句

    如果一个方法可以导致一个异常但不处理它,它必须指定这种行为以使方法的调用者可以保护它们自己而不发生异常.做到这点你可以在方法声明中包含一个throws子句.一个 throws 子句列举了一个方法可能抛 ...

  7. 在mac上运行android的intel模拟器导致的死机问题解决

    最近用Mac开发android的时候遇到了一个烦人的问题,装上了HAXM,intel hardware accelerated execution manager以后,一运行android emula ...

  8. Delphi 使用 SPcomm 调试串口程序出现总是在程序断开的时候,才发送指令的问题。

    问题如上, 在与嵌入式程序串口程序通讯的时候, 总是出现如上问题, 造成的原因把下面的True改成false就可以了. 下图Spcomm的属性页,几个True全改成False再试试

  9. windows下如何添加、删除和修改静态路由

    1.添加一条路由表 route add 192.168.100.0 mask 255.255.255.248 192.168.1.1 metric 3 if 2 1 2 添加一条路由记录,所有到192 ...

  10. 输入法不能使用ctrl+shift进行切换的问题

    第一种情况就是,你的输入法只有一种(而且这种输入法并不是“中文(简体) 微软拼音输入法”). 如果是只有一种输入法的话,是无法进行切换的,如果你是想要把输入法切换到无输入法状态,那么你可以通过设置任务 ...