实验简介

本次实验学习和了解 HBase 在不同模式下的配置和安装,以及 HBase 后续的启动和停止等。

一、实验环境说明

1. 环境登录

无需密码自动登录,系统用户名shiyanlou,密码shiyanlou

2. 环境介绍

本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序:

  • XfceTerminal: Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令;
  • Firefox:浏览器,可以用在需要前端界面的课程里,只需要打开环境里写的HTML/JS页面即可;
  • GVim:非常好用的编辑器,最简单的用法可以参考课程Vim编辑器

3. 环境使用

使用GVim编辑器输入实验所需的代码,然后使用XfceTerminal命令行环境进行编译运行,查看运行结果,运行后可以截图并分享自己的实验成果,实验楼提供的截图是后台截图,无法作弊,可以真实有效证明您已经完成了实验。

实验记录页面可以在“我的课程”中查看,其中含有每次实验的截图及笔记,以及每次实验的有效学习时间(指的是在实验桌面内操作的时间,如果没有操作,系统会记录为发呆时间)。这些都是您学习的真实性证明。


二、安装之前 - 检查必要条件

(1) Java (需要安装1.6.x及其以上版本)

在终端输入 java -version 来查看你机子上的 Java 版本;

(2) Hadoop

Hadoop的具体安装可以参见我们以前的课程:Hadoop部署及管理。需要注意的是伪分布模式下,HBase 的版本需要和 Hadoop版本 匹配 ,不然很可能容易出错。你可以在HBase的lib目录下看到对应的Hadoop的Jar文件版本。

在这里,我们使用了Hadoop V2.4.1版本以及HBase V0.98.11版本。

(3) SSH

SSH的安装,在Hadoop部署及管理中也涵盖了这部分内容。SSH用来管理远程Hadoop和HBase守护进程。

本实验环境下,为了大家的方便,我们已经为大家准备好了这些必要条件,你只需要专注于HBase的安装配置即可。


三、安装进行时 - 安装和配置HBase

确认上面的条件我们都准备好了之后,就可以开始安装HBase了。实验开始前,你应该切换到 hadoop 用户:

$ su hadoop

HBase的安装通常分为3种模式:

1. 单机模式 安装

(1)下载和解压

单机模式的安装非常简单,几乎不用对安装文件做什么修改就可以使用。单机模式下,HBase并不使用HDFS,因此将安装文件解压后就几乎可以直接运行。输入命令下载HBase:

$ wget http://labfile.oss.aliyuncs.com/hbase-0.98.11-hadoop2-bin.tar.gz

再将其压缩包解压:

$ tar zxvf hbase-0.98.11-hadoop2-bin.tar.gz

由于解压出来的文件名可能很长,建议修改为较短文件名,例如:

$ mv hbase-0.98.11-hadoop2 hbase

(2)配置 hbase-site.xml

在运行之前,我们需要对HBase进行相关配置。建议大家修改 ${HBase-Dir}/conf/hbase-site.xml 文件,因为即使你修改了hbase-default.xml文件,也会被hbase-site.xml中的配置所覆盖。也就是说,最终是以 hbase-site.xml 中的配置为准的。我们做如下修改:

<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///tmp/hbase-${user.name}/hbase</value>
</property>
</configuration>

注意:修改 ${user.name}为你自己的 hadoop 用户名

2. 伪分布模式 安装

伪分布模式是一个运行在单台机器上的分布式模式。此模式下,HBase所有的守护进程将运行在同一个节点之上,而且需要依赖HDFS,因此在此之前必须保证HDFS已经成功运行,请参考我们前面的课程:Hadoop伪分布模式配置部署。确认无误后,我们就可以开始配置HBase的参数了。

(1)配置 hbase-site.xml 文件

<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
</configuration>

hbase.rootdir:该参数制定了HReion服务器的位置,即数据存放的位置。主要端口号要和Hadoop相应配置一致。hbase.cluster.distributed:HBase的运行模式。false是单机模式,true是分布式模式。若为false, HBase和Zookeeper会运行在同一个JVM里面。默认为false.

(2)设置环境变量

另外,我们需要设置一些环境变量。修改HBase下的conf目录中的hbase-env.sh文件(你的jdk路径可能不一样):

export JAVA_HOME=/usr/local/jdk1.7.0_67
export HBASE_MANAGES_ZK=true

export HBASE_MANAGES_ZK=true 此配置信息,表示设置由hbase自己管理zookeeper,不需要单独的zookeeper, 本文搭建的 Hbase 用的是自带的 zookeeper,故设置为true.

最后修改添加PATH, 则输入:

$ sudo vim /etc/profile

来修改 /etc/profile 文件:

# set hbase path
export PATH=$PATH:/usr/local/hadoop/hbase/bin

3. 完全分布模式 安装

由于完全分布模式需要多台机器,在这里我们就不给出演示了。


四、安装之后 - 运行和停止 HBase

正如上面我们提到的,HBase安装分为3个模式,因此HBase的运行自然也分为同样的3个模式。

1. 单机模式 运行

(1)启动

单机模式下不需要HDFS,因此不需要事先启动Hadoop,直接启动HBase即可。终端下输入命令:./start-hbase.sh

注意:路径要正确,应为:$HBASE_HOME/bin 目录,否则会找不到 start-hbase.sh 这个文件,就会出现错误

(2)查看进程

我们可以通过 jps 来查看当前 HBase 的进程:

(3)停止 HBase 服务

输入 ./stop-hbase.sh

2. 伪分布模式 运行

(1)启动和查看进程

前面我们提到过,伪分布模式下,必须先确保 HDFS 已经启动。因此,我们先启动 HDFS,输入命令: ./start-all.sh

使用 jps 查看目前 Hadoop 的进程:

HDFS 成功启动之后,我们再启动 HBase,这里和单机模式下启动 HBase 的方法一样,输入命令: ./start-hbase.sh

此时再使用 jps查看,可以看到多了HBase的相关进程:

(2)进入 HBase Shell

通过HBase Shell用户可以方便地创建、删除以及修改表,还可以向表中添加数据、列出表中的相关相信等。

输入 help 来查看其所支持的命令,可以根据自己的需要选择。

(3)停止 HBase

根据依赖关系,我们需要先关闭HBase, ./stop-hbase.sh

通过 jps 可以看到,HBase相关的进程没有了:

再关闭HDFS, ./stop-all.sh.

最后,再通过 jps 发现 HDFS 的进程也没有了:

3. 完全分布模式 运行

略。


作业

有条件的同学,可以尝试 HBase 的完全分布模式下的配置与安装。


参考文档

HBase 的安装与配置的更多相关文章

  1. HBase学习笔记之HBase的安装和配置

    HBase学习笔记之HBase的安装和配置 我是为了调研和验证hbase的bulkload功能,才安装hbase,学习hbase的.为了快速的验证bulkload功能,我安装了一个节点的hadoop集 ...

  2. Centos7上HBase的安装和配置

    注意事项 HBase配置必须使用主机名,不支持直接配置IP地址.我尝试过,如果不使用主机名直接用IP,会导致HBase连接zk超时. > 设置主机名 hostnamectl set-hostna ...

  3. Ubuntu16.04下HBase的安装与配置

    一.环境 os : Ubuntu 16.04 LTS 64bit jdk : 1.8.0_161 hadoop : mysql : hive : hbase: -hadoop2 安装HBase前,系统 ...

  4. 网站用户行为分析——HBase的安装与配置

    Hbase介绍 HBase是一个分布式的.面向列的开源数据库,源于Google的一篇论文<BigTable:一个结构化数据的分布式存储系统>.HBase以表的形式存储数据,表有行和列组成, ...

  5. HBase的安装、配置与实践

    本教程运行环境是在Ubuntu-64位系统下,HBase版本为hbase-1.1.2,这是目前已经发行的已经编译好的稳定的版本,带有src的文件是未编译的版本,这里我们只要下载bin版本hbase-1 ...

  6. Hbase的安装和配置

    1,准备好hbase的linux环境下的压缩包,这里hadoop版本为hadoop2.5.0,hbase版本为 2,解压缩这个版本,不选src的,其实两个任一都行 进入到hbase安装包目录,我这里的 ...

  7. HBase的安装与配置

  8. Hbase简介安装配置

    HBase —— Hadoop Database的简称 ,hbase 是分布式,稀疏的,持久化的,多维有序映射,它基于行键rowkey,列键column key,时间戳timestamp建立索引.它是 ...

  9. hbase安装与配置-分布式

    HBASE安装与配置 备注: 1:本文在hadoop的完全分布式基础上部署hbase 2:本文使用的是小博主自己搭建的zookpeer服务,未使用hbase本身的zookpeer服务 本文内容在以下前 ...

随机推荐

  1. 【Winform】锐浪报表使用

    在发开报表时,使用了锐浪报表. 需要注意的一些细节: 1.给staticbox设置文本,通过GridppReport的变量,使用ControlByName获取到控件后进行设置文字 _report.Co ...

  2. C#源码大汇总

    C#高仿QQ2013可在广域网部署聊天系统GG叽叽 动态显示硬盘分区容量饼图 自定义ProgressBar控件高仿Win8进度条 多皮肤精美在线QQ悬浮客服插件 jQuery仿天猫首页多格焦点图片轮播 ...

  3. asp.net get server control id from javascript

    var WhateverValue = document.getElementById('<%= saveValue.ClientID %>').value

  4. SQL存储过程和触发器

    一. 存储过程 1.  有关概念 存储过程是由SQL语句及控制流语句组成的集合.调用一个存储过程,可以一次性地执行过程中的所有语句.从这一点来说,它类似于程序. 存储过程由用户建立,它作为数据库的一个 ...

  5. jsp日期控件My97DatePicker的使用

    My97DatePicker是一款非常灵活好用的日期控件.使用非常简单. 1.下载My97DatePicker组件包 2.将My97DatePicker包放在项目WebContent目录下 3.在页面 ...

  6. 【Nhibernate】HQL 分页

    HQL IQuery query = NHibernateHelper.OpenSession() .CreateQuery( @"from Product"); query.Se ...

  7. ios Base64编解码工具类及使用

    为了避免明码传递http内容,可以用base64编码后传输,收到方再解码,也方便了2进制数据的字符串式传输. 对于ios来说,google给提供了一个很好的工具类,方便进行base64编解码,当然也可 ...

  8. easyui使用时出现这个Uncaught TypeError: Cannot read property 'combo' of undefined

    easyui使用时出现这个Uncaught TypeError: Cannot read property 'nodeName' of undefined 最后检查发现是必须给select一个id,光 ...

  9. EXTJS 4.2 资料 控件之 xtype: "fieldcontainer",追加html

    { xtype: "fieldcontainer", layout: "hbox", items: [ { fieldLabel: '素材目录', name: ...

  10. Create CSS3 Buttons Compatible with All Browsers

    Create CSS3 Buttons Compatible with All Browsers http://www.ourtuts.com/create-css3-buttons-compatib ...