【HBase基础教程】1、HBase之单机模式与伪分布式模式安装(转)
在这篇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之单机模式与伪分布式模式安装(转)的更多相关文章
- HBase入门基础教程之单机模式与伪分布式模式安装(转)
原文链接:HBase入门基础教程 在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Had ...
- HBase入门基础教程 HBase之单机模式与伪分布式模式安装
在本篇文章中,我们将介绍Hbase的单机模式安装与伪分布式的安装方式,以及通过浏览器查看Hbase的用户界面.搭建HBase伪分布式环境的前提是我们已经搭建好了Hadoop完全分布式环境,搭建Hado ...
- Hadoop Single Node Setup(hadoop本地模式和伪分布式模式安装-官方文档翻译 2.7.3)
Purpose(目标) This document describes how to set up and configure a single-node Hadoop installation so ...
- 啃掉Hadoop系列笔记(04)-Hadoop运行模式之伪分布式模式
伪分布式模式等同于完全分布式,只是她只有一个节点. 一) HDFS上运行MapReduce 程序 (1)配置集群 (a)配置:hadoop-env.sh Linux系统中获取jdk的安装路径:
- Hadoop的单机模式、伪分布式模式和完全分布式模式
1.单机(非分布式)模式 这种模式在一台单机上运行,没有分布式文件系统,而是直接读写本地操作系统的文件系统. 2.伪分布式运行模式 这种模式也是在一台单机上运行,但用不同的Java进程模仿分布式运行中 ...
- 3 hadoop安装Standalone模式和伪分布式模式
1 Standalone模式默认模式,即默认配置即是standalone模式装好hadoop-client,会将依赖的包安装好yum install hadoop-client配置文件各个配置文件在/ ...
- 云计算课程实验之安装Hadoop及配置伪分布式模式的Hadoop
一.实验目的 1. 掌握Linux虚拟机的安装方法. 2. 掌握Hadoop的伪分布式安装方法. 二.实验内容 (一)Linux基本操作命令 Linux常用基本命令包括: ls,cd,mkdir,rm ...
- 搭建HBase的本地模式、伪分布式、全分布式和HA模式
一.安装HBase: 我这里选择的是hbase-1.3.1-bin.tar.gz版本解压HBase: tar -zxvf hbase-1.3.1-bin.tar.gz -C ~/training 配置 ...
- Hadoop三种安装模式:单机模式,伪分布式,真正分布式
Hadoop三种安装模式:单机模式,伪分布式,真正分布式 一 单机模式standalone单 机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守 ...
随机推荐
- (转)Ubuntu安装g++-4.8
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install g++-4.8 ...
- 计蒜客 18487.Divisions-大数的所有因子个数-Miller_Rabin+Pollard_rho-超快的(大数质因解+因子个数求解公式) (German Collegiate Programming Contest 2015 ACM-ICPC Asia Training League 暑假第一阶段第三场 F)
这一场两个和大数有关的题目,都用到了米勒拉宾算法,有点东西,备忘一下. 题目传送门 F. Divisions 传送门 这个题是求一个数的所有因子个数,但是数据比较大,1e18,所以是大数的题目,正常的 ...
- maven坐标
maven坐标 <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat ...
- 牛客网练习赛18 A 【数论/整数划分得到乘积最大/快速乘】
链接:https://www.nowcoder.com/acm/contest/110/A 来源:牛客网 题目描述 这题要你回答T个询问,给你一个正整数S,若有若干个正整数的和为S,则这若干的数的乘积 ...
- luogu P1373 小a和uim之大逃离
题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从天空中打落下来,只见前方出现了一个 ...
- 用swift开发自己的MacOS锁屏软件(一)
最近看到了NearLock这款软件,感觉还是很不错的,当我兴致勃勃的安装了体验之后,发现效果和自己所想的差太多了,所以,便想着自己写一个吧. 刚开始当然是查资料之类的,不查不知道,一查吓一跳,国内基本 ...
- 细说JavaScript对象(1):对象的使用和属性
JavaScript 中的一切都可以视为对象,除了两个特例:null 和 undefined. false.toString(); // 'false' [1, 2, 3].toString(); / ...
- A标签几种状况下的样式问题
正常状态下的a标签是这样的. 去掉下划线只需要在样式里面加入a{text-decoration:none;}或者<a href="www.kanbuchuan.com"sty ...
- mysql优化30条建议
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- Jakarta雅加达项目简介
Jakarta项目是在Apache软件基金会营运的公开源代码软件开发项目之一.开发着面向编程语言Java的程序库,框架等. Jakarta是Apache组织下的一套Java解决方案的开源软件的名称,它 ...