`
liuxinglanyue
  • 浏览: 545808 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

在Windows中使用Cygwin安装HBase

阅读更多

1.简介 
HBase是 Hadoop 的正式子项目,它是一个面向列的分布式数据库,它在存储数据结构上并非关系型,而是疏松分布式的,持久并按多维排序并索引的map型,其思想源于Google的BigTable论文。(Google BigTable的paper: 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.安装与配置 
软件版本: 
 JDK 1.6(或以上版本) 
 Cygwin 2.5 
 Hadoop 0.20.x 
 HBase 0.20.x 
3.1 Java、Cygwin、SSH 
这里的三个软件的安装过程,可以参考《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_01。JAVA_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分布式文件系统中创建两个目录hbase和tmp,这两个目录将在下面安装HBase的过程中使用,在Shell中输入命令如下:
bin/hadoop dfs –mkdir hbase tmp 
Hadoop的分布式文件系统中将增加hbase和tmp两个目录,如下图所示: 

 


3.3 HBase 
假设HBASE_HOME为HBase的安装目录。 
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.总结 
至此,HBase在Windows操作系统中利用Cygwin工具已经安装完成,并运行良好。用户可以在系统中存储大规模的数据,并进行海量数据处理。 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics