之前折腾了几天,想让hbase的单机模式在cygwin上跑起来,都不成功。正当我气馁之时,我无意中发现hbase0.96.0的bin和conf目录下有一些扩展名为cmd的文件。这难道是给windows用的?难道现在hbase可以直接在windows上运行了?抱着这样的想法,我尝试了不用cygwin的方法运行hbase,还真成功了。特此记录下来,给需要的人做一个参考。

1. 环境: 
Win7 64bit 
JDK1.6.0_43 64bit 
hbase-0.96.0-hadoop1

没错,不需要cygwin。 
比较新的hbase版本已经原生支持windows了,至少支持单机模式了。

2. 下载

我下载的是hbase-0.96.0-hadoop1-bin.tar.gz并解压

3.配置conf/hbase-site.xml

  1. <configuration>
  2. <property>
  3. <name>hbase.rootdir</name>
  4. <value>file:///C:/cygwin64/tmp/hbase/root</value>
  5. </property>
  6. <property>
  7. <name>hbase.tmp.dir</name>
  8. <value>C:/cygwin64/tmp/hbase/tmp</value>
  9. </property>
  10. <property>
  11. <name>hbase.zookeeper.quorum</name>
  12. <value>127.0.0.1</value>
  13. </property>
  14. <property>
  15. <name>hbase.zookeeper.property.dataDir</name>
  16. <value>C:/cygwin64/tmp/hbase/zoo</value>
  17. </property>
  18. <property>
  19. <name>hbase.cluster.distributed</name>
  20. <value>false</value>
  21. </property>
  22. </configuration>

配置文件里提到的3个目录也无需手工创建,第一次会自动创建。

4. 直接到windows cmd命令行下就可以了,启动hbase单机模式

  1. start-hbase.cmd

5. 测试 hbase shell

D:\opensource\hadoop\hbase-0.96.0-hadoop1\bin>hbase shell 
HBase Shell; enter 'help<RETURN>' for list of supported commands. 
Type "exit<RETURN>" to leave the HBase Shell 
Version 0.96.0-hadoop1, r1531434, Fri Oct 11 15:11:29 PDT 2013

hbase(main):001:0> create 'mytable', 'data' 
0 row(s) in 1.1420 seconds

=> Hbase::Table - mytable 
hbase(main):002:0> put 'mytable', 'row1', 'data:1', 'value1' 
0 row(s) in 0.0580 seconds

hbase(main):003:0> put 'mytable', 'row2', 'data:2', 'value2' 
0 row(s) in 0.0090 seconds

hbase(main):004:0> put 'mytable', 'row3', 'data:3', 'value3' 
0 row(s) in 0.0080 seconds

hbase(main):005:0> list 
TABLE

mytable

1 row(s) in 0.0200 seconds

=> ["mytable"] 
hbase(main):006:0> scan 'mytable' 
ROW                   COLUMN+CELL

row1                 column=data:1, timestamp=1416554699558, value=value1

row2                 column=data:2, timestamp=1416554715456, value=value2

row3                 column=data:3, timestamp=1416554730255, value=value3

3 row(s) in 0.0520 seconds

hbase(main):009:0> exit

测试下来一切OK,非常完美。不需要cygwin。这也算hbase给我的一个惊喜吧。

6. 补充:另一种在cygwin下运行的办法 
之后无意中又尝试了在cygwin下运行,忘了开启sshd,反而成功了。 
My God!开了sshd反而出错??! 
测试版本同样是hbase-0.96.0-hadoop1

OK,唯一的重点就是记得关闭sshd。

然后hbase-env.sh是肯定要改的

  1. export JAVA_HOME=/cygdrive/c/jdk1.7.0_67
  2. export HBASE_CLASSPATH=/cygdrive/d/opensource/hadoop/hbase-0.96.0-hadoop1/lib/zookeeper-3.4.5.jar
  3. export HBASE_MANAGES_ZK=true

然后启动hbase,启动之前为避免有干扰清空log和tmp目录。 
启动时出现连不到22端口的错,而且运行很慢,但是不要慌张,请继续。 
$ ./bin/start-hbase.sh 
127.0.0.1: ssh: connect to host 127.0.0.1 port 22: Connection refused 
starting master, logging to /cygdrive/d/opensource/hadoop/hbase-0.96.0-hadoop1/bin/../logs/hbase-pchen4-master-W-SHDC-PCHEN4.out 
localhost: ssh: connect to host localhost port 22: Connection refused

下面测试shell 
这里会出现没有提示符的问题,而且第一个命令输入后要等很长时间才有反应。是的,不要慌张,不要以为死了,我机器上等待了大概2,3分钟(见下面的红字)后,奇迹出现了。后面的命令都正常了。

$ ./bin/hbase shell 
HBase Shell; enter 'help<RETURN>' for list of supported commands. 
Type "exit<RETURN>" to leave the HBase Shell 
Version 0.96.0-hadoop1, r1531434, Fri Oct 11 15:11:29 PDT 2013

list 
list 
TABLE 
0 row(s) in 154.4250 seconds

[] 
create 'mytable', 'data' 
create 'mytable', 'data' 
0 row(s) in 0.3510 seconds

Hbase::Table - mytable 
list 
list 
TABLE 
mytable 
1 row(s) in 0.0150 seconds

["mytable"] 
scan 'mytable' 
scan 'mytable' 
ROW  COLUMN+CELL 
0 row(s) in 0.0280 seconds

这种方法虽然侥幸成功,但是因为速度太慢了,所以我想也没人会这样用吧。 
哎,好吧。这个hbase太折腾人了,不想找麻烦的话,还是用linux吧。就这样吧。。。 

hbase0.96.0单机模式安装(win7 无需cygwin)的更多相关文章

  1. Hadoop单机模式安装

    一.实验环境说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序: ...

  2. Hadoop单机模式安装-(3)安装和配置Hadoop

    网络上关于如何单机模式安装Hadoop的文章很多,按照其步骤走下来多数都失败,按照其操作弯路走过了不少但终究还是把问题都解决了,所以顺便自己详细记录下完整的安装过程. 此篇主要介绍在Ubuntu安装完 ...

  3. Hadoop单机模式安装-(2)安装Ubuntu虚拟机

    网络上关于如何单机模式安装Hadoop的文章很多,按照其步骤走下来多数都失败,按照其操作弯路走过了不少但终究还是把问题都解决了,所以顺便自己详细记录下完整的安装过程. 此篇主要介绍在虚拟机设置完毕后, ...

  4. Hadoop单机模式安装-(1)安装设置虚拟环境

    网络上关于如何单机模式安装Hadoop的文章很多,按照其步骤走下来多数都失败,按照其操作弯路走过了不少但终究还是把问题都解决了,所以顺便自己详细记录下完整的安装过程. 此篇主要介绍如何在Windows ...

  5. 3-1.Hadoop单机模式安装

    Hadoop单机模式安装 一.实验介绍 1.1 实验内容 hadoop三种安装模式介绍 hadoop单机模式安装 测试安装 1.2 实验知识点 下载解压/环境变量配置 Linux/shell 测试Wo ...

  6. Hadoop 2.x 版本的单机模式安装

    Hadoop 2.x 版本比起之前的版本在Hadoop和MapReduce上做了许多变化,主要的变化之一,是JobTracker被ResourceManager和ApplicationManager所 ...

  7. Hbase-0.96.2全然分布式安装部署

    Hbase-0.96.2全然分布式安装部署 环境: Hadoop-2.2.0 Zookeeper-3.4.6 hbase-0.96.2 1.下载hbase-0.96.2-hadoop2-bin.tar ...

  8. Flume-1.4.0和Hbase-0.96.0整合

    在使用Flume的时候,请确保你电脑里面已经搭建好Hadoop.Hbase.Zookeeper以及Flume.本文将以最新版的Hadoop-2.2.0.Hbase-0.96.0.Zookeeper-3 ...

  9. centos7 hive 单机模式安装配置

    前言:由于只是在自己的虚拟机上进行学习,所以对hive只是进行最简单的配置,其他复杂的配置文件没有配置. 1.前提 1.1 安装配置jdk1.8 1.2 安装hadoop2.x hadoop单机模式安 ...

随机推荐

  1. 文字溢出显示省略号,兼容ie9以上浏览器

    最近遇上一个问题,文字溢出展示省略号在ie上不管用,经过查找,是少了word-wrap: normal;这个css属性 width:100px; overflow: hidden; white-spa ...

  2. Hibernate关系映射(三) 多对一和一对多

    一.多对一 学生Student和班级Grade实现多对一,多个学生对应一个班级. Student.java实体类,映射了班级的属性. package com.lxit.entity; import j ...

  3. 算法笔记_095:蓝桥杯练习 拿糖果(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 妈妈给小B买了N块糖!但是她不允许小B直接吃掉. 假设当前有M块糖,小B每次可以拿P块糖,其中P是M的一个不大于根号下M的质因数.这时,妈 ...

  4. STL源码剖析(适配器)

    STL中由三类适配器,它们分别是: 1.容器适配器(stack.queue) 2.迭代器适配器(insert_iterator.reverse_iterator.iostream_iterator) ...

  5. linux下的QQ执行玩法:pidgin-lwqq

    安装pidgin: sudo apt-get install pidgin 安装pidgin-lwqq: sudo add-apt-repository ppa:lainme/pidgin-lwqq ...

  6. 新建 jsp异常,The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

    新项目,新建jsp页面的时候报异常: Multiple annotations found at this line: - The superclass "javax.servlet.htt ...

  7. 织梦dedecms dede plus文件作用介绍及安全设置

    一.安装设置 1.默认的后台模块中心有很多模块. 这里除了"友情链接"模块其他都可以删掉.在后台可以先卸载再删除. 2.如果是一开始就不想要的话,安装版plus目录下进行如下操作. ...

  8. js 父窗口与子窗口交互

    showModalDialog 父窗口 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ...

  9. java之TCP(Socket,serverSocket)实例

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...

  10. jquery 在ul中取得第一级的li

    在ul中取得第一级的li <div id='demo1'> <ul> <li id='1'>1<li> <li id='2'>2<li ...