hbase0.96.0单机模式安装(win7 无需cygwin)
2015-10-28 16:56
309 查看
之前折腾了几天,想让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
Xml代码
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///C:/cygwin64/tmp/hbase/root</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>C:/cygwin64/tmp/hbase/tmp</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>127.0.0.1</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>C:/cygwin64/tmp/hbase/zoo</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
</property>
</configuration>
配置文件里提到的3个目录也无需手工创建,第一次会自动创建。
4. 直接到windows cmd命令行下就可以了,启动hbase单机模式
Text代码
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是肯定要改的
Java代码
export JAVA_HOME=/cygdrive/c/jdk1.7.0_67
export HBASE_CLASSPATH=/cygdrive/d/opensource/hadoop/hbase-0.96.0-hadoop1/lib/zookeeper-3.4.5.jar
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吧。就这样吧。。。
相关文章推荐
- html标记语言的常用标签,表单
- iOS —— SVN出错 Description : The working copy is locked due to a previous error.
- 点击事件监听器的五种写法
- The new Summary Collect Statistics feature starting with Teradata Release 14
- Android Studio的相关错误
- Uploadify的一些参数
- JSP文件下载及getOutputStream() has already been的解决
- java.lang.IllegalStateException: getOutputStream() has already been called f
- discuz 数据字段说明
- JS判断浏览器类型与版本
- C# 中实现快捷键的的方式
- Sqlserver 修改数据库逻辑文件名的方法
- 如何优化你的JS代码
- Tomcat下使用war包发布项目
- Java FileReader FileWriter 示例
- java Ajax传值乱码问题
- 织梦MVC开发框架开发手册
- ECShop 2.6.2 的结构图(文档结构框架)
- zend studio 9.0.3 破解与汉化
- Zend Studio 9.0.3正式版注册破解(2012-07-04更新)