• HBase单机环境搭建


    在搭建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






  • 相关阅读:
    Cookie
    C#计算程序的运行时间
    .Net源码之Page类
    AJAX资源
    匿名方法的使用
    序列化和反序列化
    实验分析C#中三种计时器使用异同点
    (转载)突然就看懂了《大话西游》
    做人、做事,做架构师——架构师能力模型解析
    服务颗粒度的困扰(转)
  • 原文地址:https://www.cnblogs.com/songlee/p/5738029.html
Copyright © 2020-2023  润新知