在Windows中使用Cygwin安装HBase

Windows中使用Cygwin安装HBase

飞鸿雪泥

1.简介

HBase Hadoop 的正式子项目,它是一个面向列的分布式数据库,它在存储数据结构上并非关系型,而是疏松分布式的,持久并按多维排序并索引的map型,其思想源于GoogleBigTable论文。(Google BigTablepaper: http://labs.google.com/papers/bigtable-osdi06.pdf

由于HBase是一个分布式、大规模的平台,主要安装在类Unix平台上。但是由于其开发语言是Java,因此它同样具有跨平台的特性,同样也可以安装在Windows操作系统上。为了方便起见,使用具有类Unix特性的Cygwin来安装HBase

2.目的

本文主要阐述在伪分布式模式(Pseudo-distributed mode)下,在Windows操作系统上使用Cygwin来安装、运行和测试HBase项目。对于真正的分布式的集群配置,可以参考本文以及HBase项目官网(http://hadoop.apache.org/hbase/)中的讲解。

3.安装与配置

软件版本:

l        JDK 1.6(或以上版本)

l        Cygwin 2.5

l        Hadoop 0.20.x

l        HBase 0.20.x

3.1 JavaCygwinSSH

这里的三个软件的安装过程,可以参考《Hadoop开发者》杂志创刊号中《在Windows 上安装Hadoop 教程》,在此不再赘述。

3.2 Hadoop

同样,Hadoop的安装也可以参考《Hadoop开发者》杂志创刊号中《在Windows 上安装Hadoop 教程》一文。但是根据笔者的安装过程,列出以下几点注意:

1.在配置hadoop-env.sh中的JAVA_HOME时,Jdk往往安装在C:/Program Files/文件夹下,例如:C:/Program Files/Java/jdk1.6.0_01JAVA_HOME应配置如下:

export JAVA_HOME=/cygdrive/c/Progra~1/Java/jdk1.6.0_01

其中,由于Cygwin无法识别“Program Files”中间的空格,如果不按照上述设置,则系统无法找到Jdk安装目录。

当然,你也可以在Cygwin/usr/local目录下添加一个连接,从而方便配置JAVA_HOME。例如:

          ln -s /cygdrive/c/Program/ Files/Java/jdk1.6.0_01 /
          /usr/local/jdk1.6.0_01
          export JAVA_HOME=/usr/local/jdk1.6.0_01

2.core-site.xml配置文件中,属性“fs.default.name”的值与Hadoop开发者》杂志创刊号中《在Windows 上安装Hadoop 教程》一文中的值保持一致,设置为:“hdfs://localhost:8888。同样,配置文件mapred-site.xml中的“mapred.job.tracker”属性值设置为:“localhost:9999”。

3.Hadoop分布式文件系统中创建两个目录hbasetmp,这两个目录将在下面安装HBase的过程中使用,在Shell中输入命令如下:

              bin/hadoop dfs –mkdir hbase tmp

       Hadoop的分布式文件系统中将增加hbasetmp两个目录,如下图所示:

3.3 HBase

假设HBASE_HOMEHBase的安装目录。

1.$HBASE_HOME/conf/hbase-env.sh中增加如下两个环境变量:

export JAVA_HOME=/cygdrive/c/Progra~1/Java/jdk1.6.0_01

export HBASE_IDENT_STRING=localhost

其中,JAVA_HOME的设置参照上文的说明。

2.$HBASE_HOME/conf/hbase-default.xml中的所有内容,拷贝到$HBASE_HOME/conf/hbase-site.xml文件中。

3.修改hbase-site.xml配置文件中的“hbase.rootdir”属性,以及“hbase.tmp.dir”属性,如下所示:

<property>

           <name>hbase.rootdir</name>

           <value>hdfs://localhost:8888/hbase</value>

           <description>The directory shared by region servers.

           Should be fully-qualified to include the filesystem to use.

           E.g: hdfs://NAMENODE_SERVER:PORT/HBASE_ROOTDIR

           </description>

</property>

……

<property>

       <name>hbase.tmp.dir</name>

       <value>hdfs://localhost:8888/tmp</value>

<description>Temporary directory on the local filesystem.</description>

</property>

…….

注意,这里设置的两个目录正是上文中在Hadoop的分布式文件系统中建立的两个目录,此外,端口号也与前面保持一致,设置为:“8888”。

4.  修改hbase-site.xml配置文件中的“hbase.zookeeper.quorum”属性的值为“127.0.0.1,在Cygwin中,“localhost”有时无法正确识别。如下所示:

<property>

      <name>hbase.zookeeper.quorum</name>

    <value>127.0.0.1</value>

    <description>Comma separated list of servers in the ZooKeeper Quorum.

 For example, "host1.mydomain.com,

host2.mydomain.com,  host3.mydomain.com".

    By default this is set to localhost for local and pseudo-distributed modes

of operation. For a fully-distributed setup, this should be set to a full

list of ZooKeeper quorum servers. If HBASE_MANAGES_ZK

is set in hbase-env.sh

    this is the list of servers which we will start/stop ZooKeeper on.

    </description>

</property>

4.测试

下面测试系统是否正确安装。

1.打开Cygwin的终端,执行“ssh localhost”命令。

2.Hadoop安装目录下,执行“bin/start-all.sh”脚本,启动Hadoop

3.Hbase安装目录下,执行“bin/start-hbase.sh”脚本,启动HBase

4.Hbase安装目录下,执行“bin/hbase shell”命令,进入Shell命令模式。

5.Shell中输入“create 'test', 'data'”,执行结果通过输入“list”命令进行查看。如下图所示:

6.  Shell中分别输入“put 'test', 'row1', 'data:1', 'value1'”,“put 'test', 'row2', 'data:2', 'value2'”,“put 'test', 'row3', 'data:3', 'value3'”三条命令,以创建三条记录。

7.  输入“scan 'test'”命令,通过执行结果来测试上述三条命令的执行情况。如下图所示。

 

5.总结

至此,HBaseWindows操作系统中利用Cygwin工具已经安装完成,并运行良好。用户可以在系统中存储大规模的数据,并进行海量数据处理。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值