在搭建HBase单机环境之前,首先你要保证你已经搭建好Java环境:

$ java -version
java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)

JAVA_HOME路径:

$ echo $JAVA_HOME
/usr/java/jdk1.8.0_51

在单机模式中,HBase并不使用 HDFS,仅使用本地文件系统 —— ZooKeeper程序与HBase程序运行在同一个JVM进程中。

一、下载HBase

虚拟机:VMware-workstation-11.1.0

操作系统:CentOS 6.5

JDK:jdk1.8.0_51

HBase:hbase-1.0.1.1

1、 下载的是HBase最新稳定版hbase-1.0.1.1-bin.tar.gz,地址 http://apache.fayea.com/hbase/

2、 解压到个人主目录下

$ tar -zxf hbase-1.0.1.1-bin.tar.gz
$ cd hbase-1.0.1.1

二、配置HBase

需要配置两个文件。

1、hbase-env.sh

编辑文件vim conf/hbase-env.sh,去掉#注释,JAVA_HOME改成jdk对应的路径:

export JAVA_HOME=/usr/java/jdk1.8.0_51
export HBASE_MANAGES_ZK=true

Hbase依赖于zookeeper,所有的节点和客户端都必须能够访问zookeeper。

HBase的安装包里面有自带的ZooKeeper,HBASE_MANAGES_ZK环境变量用来设置是使用HBase默认自带的 Zookeeper还是使用独立的ZooKeeper。

  • HBASE_MANAGES_ZK为 false 时使用独立的.
  • HBASE_MANAGES_ZK为 true 时表示使用默认自带的,让Hbase启动的时候同时也启动自带的ZooKeeper。

2、hbase-site.xml

编辑文件vim conf/hbase-site.xml,设置数据保存的目录:

<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/songlee/hbase-1.0.1.1/data</value>
</property>
</configuration>

默认情况下Hbase是写到/tmp的,在重启的时候/tmp会被清空,数据就会丢失。

三、启动HBase

使用HBase提供的脚本启动HBase:

$ bin/start-hbase.sh
starting master, logging to /home/songlee/hbase-1.0.1.1/bin/../logs/hbase-songlee-master-songlee.out

查看Java进程:

$ jps
5464 HMaster
5561 Jps

可以看到HMaster进程已经启动了。

四、HBase Shell交互

HBase Shell是一个封装了Java API的JRuby应用软件,通过它可以与HBase集群进行交互。

$ bin/hbase shell
2015-07-16 12:37:07,171 WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
HBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 1.0.1.1, re1dbf4df30d214fca14908df71d038081577ea46, Sun May 17 12:34:26 PDT 2015 hbase(main):001:0>

建表:

hbase(main):006:0> create 'mytable','cf'
0 row(s) in 0.3090 seconds

添加数据:

hbase(main):008:0> put 'mytable','first','cf:message','hello HBase!'
0 row(s) in 0.1420 seconds hbase(main):009:0> put 'mytable','second','cf:foo',0x0
0 row(s) in 0.0220 seconds hbase(main):010:0> put 'mytable','third','cf:bar',3.14159
0 row(s) in 0.0180 seconds

获取数据:

hbase(main):011:0> get 'mytable','first'
COLUMN CELL
cf:message timestamp=1437015412793, value=hello HBase!
1 row(s) in 0.0540 seconds

扫描表:

hbase(main):012:0> scan 'mytable'
ROW COLUMN+CELL
first column=cf:message, timestamp=1437015412793, value=hello HBase!
second column=cf:foo, timestamp=1437015468629, value=0
third column=cf:bar, timestamp=1437015511565, value=3.14159
3 row(s) in 0.0650 seconds

HBase单机环境搭建的更多相关文章

  1. HBase —— 单机环境搭建

    一.安装前置条件说明 1.1 JDK版本说明 HBase 需要依赖JDK环境,同时HBase 2.0+ 以上版本不再支持JDK 1.7 ,需要安装JDK 1.8+ .JDK 安装方式见本仓库: Lin ...

  2. hbase单机环境的搭建和完全分布式Hbase集群安装配置

    HBase 是一个开源的非关系(NoSQL)的可伸缩性分布式数据库.它是面向列的,并适合于存储超大型松散数据.HBase适合于实时,随机对Big数据进行读写操作的业务环境. @hbase单机环境的搭建 ...

  3. windows7 spark单机环境搭建及pycharm访问spark

    windows7 spark单机环境搭建 follow this link how to run apache spark on windows7 pycharm 访问本机 spark 安装py4j ...

  4. [转载] Hadoop和Hive单机环境搭建

    转载自http://blog.csdn.net/yfkiss/article/details/7715476和http://blog.csdn.net/yfkiss/article/details/7 ...

  5. Kafka 0.7.2 单机环境搭建

    Kafka 0.7.2 单机环境搭建当下载完Kafka后,进行解压,其目录结构如下: bin config contrib core DISCLAIMER examples lib lib_manag ...

  6. kafka单机环境搭建及其基本使用

    最近在搞kettle整合kafka producer插件,于是自己搭建了一套单机的kafka环境,以便用于测试.现整理如下的笔记,发上来和大家分享.后续还会有kafka的研究笔记,依然会与大家分享! ...

  7. hadoop2.6.2+hbase+zookeeper环境搭建

    1.hadoop环境搭建,版本:2.6.2,参考:http://www.cnblogs.com/bookwed/p/5251393.html 启动服务:在master机器上,进入hadoop安装目录, ...

  8. Hadoop —— 单机环境搭建

    一.前置条件 Hadoop的运行依赖JDK,需要预先安装,安装步骤见: Linux下JDK的安装 二.配置免密登录 Hadoop组件之间需要基于SSH进行通讯. 2.1 配置映射 配置ip地址和主机名 ...

  9. win10+pyspark+pycharm+anaconda单机环境搭建

    一.工具准备 1. jdk1.8 2. scala 3. anaconda3 4. spark-2.3.1-bin-hadoop2.7 5. hadoop-2.8.3 6. winutils 7. p ...

随机推荐

  1. jquery 拖动(Draggable) 约束运动,输出数组排序Array

    <!doctype html><html lang="en"><head> <meta charset="utf-8" ...

  2. C字符串指针遇到的问题

    看下面的示例代码: int main() { char *ptr = "GeeksQuiz"; printf("%c\n", *&*&*ptr) ...

  3. 文本三剑客之sed

    sed是一个流编辑器(sed是stream editor的缩写),它可以对从标准输入流中得到的数据进行处理,然后把处理以后得到的结果输出到标准输出,而标准输出通常会关联到终端屏幕,因此处理后的结果也会 ...

  4. Linux启动流程CentOS6和7的区别

    目 录 Linux启动流程    I 第1章 CentOS6启动流程    1 1.1 BIOS    1 1.2 MBR    1 1.3 GRUB    1 1.4 kernel(加载内核)    ...

  5. LeetCode(78) Subsets

    题目 Given a set of distinct integers, nums, return all possible subsets. Note: Elements in a subset m ...

  6. 初次使用xUtils3

    由于初学Android,之前也没接触过xUtils2.X系列,所以xUtils3.X弄了很久还是一直报空指针异常,后来看了Sample找到问题所在,现在把xUtils3.X的使用写来供像我这样的小白参 ...

  7. Java基础学习总结(92)——Java编码规范之排版、注释及命名

    为使开发人员养成良好的开发习惯,编写可读性强.易维护的程序,结合以往资料,现整理Java编码规范,将之作为开发人员的参照依据. 一.排版 1.相对独立的程序块之间必须加空行 下列情况应该使用一个空行: ...

  8. Mybatis 缓存策略

    听极客学院笔记 使用mybatis的缓存需要以下三步 一.在mybatis的config.xml中开启缓存 <settings> <setting name="cacheE ...

  9. 【ITOO 1】SQLBulkCopy实现不同数据库服务器之间的批量导入

    导读:在做项目的时候,当实现了动态建库后,需要实现从本地服务器上获取数据,批量导入到新建库的服务器中的一个表中去.之前是用了一个SQL脚本文件实现,但那时候没能实现不同的数据库服务器,现在用了SqlB ...

  10. hexo干货系列:(五)hexo添加站内搜索

    前言 本来想用百度站内搜索,但是没成功,所以改用swiftype,用起来还是很棒的,这里分享一下我的安装步骤 正文 注册 去swiftype官网注册个账号,然后登陆,对了不要去在意30天试用,30天过 ...