这篇文章给大家分享的是有关windows下怎么部署hbase的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
根据hbase的官方wiki需要准备和配置如下几个依赖项。
jre / jdk
cygwin & openssh
hbase
其中两个在部署hadoop的时候已经搞过,只剩下openssh和hbase需要部署。
因为出了很多问题,没能一一记下,如果有问题,可以留言共同探讨。
微软官方已经搞了windows平台下的openssh,OpenSSH for PowerShell
博主直接下载了最新版本。 解压,然后用管理员打开一个powershell。 直接运行 cd 到解压目录。 先生成 key。
.\ssh-keygen.exe -t rsa -f ssh_host_rsa_key .\ssh-keygen.exe -t dsa -f ssh_host_dsa_key .\ssh-keygen.exe -t ecdsa -f ssh_host_ecdsa_key .\ssh-keygen.exe -t ed25519 -f ssh_host_ed25519_key
后来看到教程说直接
.\ssh-keygen.exe -a
就可以,但是没尝试,大家可以先这么试一下。
然后运行 .\sshd.exe 如果不出其他问题,应该不会出什么提示。如果不放心,继续输入 netstat -ano 查看一下windows现在开放的端口,如果看到22,就说明sshd已经起来了。
这时候我们再运行
.\install-sshd.ps1
这个脚本会把sshd发布为windows服务,但是运行的时候可能会报一个 在此系统中禁止执行脚本 的提示。如果有,则继续输入权限命令:
set-executionpolicy
提示是不是Yes,点击 Y 即可。
这时候,运行 ssh username@localhost 进行测试,应该会提示你输入username的密码,输入即可。
然后,需要将该目录加入 PATH ,以便在cmd中使用 ssh 。
(博主装完之后sshd的log不知为何变成了101G,把盘占满了,应该是个bug,因为没有重现,所以现在博主暂时没有管它,所以最好不要把ssh放在系统盘,爆盘了不知道系统会不会挂掉。。)
下载hbase的二进制包,我用的1.1.5稳定版。下载tar.gz压缩包,博主解压到了 P:\hbase-1.1.5
事实上我还做了一个操作,就是把上篇编译的hadoop的相关jar包替换到 hbase-1.1.5/lib/hadoop-.jar 中,因为之前看到一篇教程说hbase中的jar包与自己hadoop的版本应该一致,但是实际上有没有起到效果博主并不知晓,所以可以先不做这一步,后面出问题了再替换吧
其实博主很奇怪,hbase的发布包中提供了cmd的脚本,理论上可以不依赖cygwin,而在cygwin中,脚本运行的是 sh,而程序却实际使用的是 .exe ,wiki中并没有提到软件包cmd的文件是干什么用的(也许cmd还在测试?),博主曾尝试在windows cmd 中部署,但是失败了,有条件的童鞋可以写一个不用cygwin的教程 ^_^ (因为表面上看 sshd 的问题微软已经解决了,脚本改用windows下的,应该是没有问题的)
cygwin下面需要配置的东西主要是把 windows 下的路径映射成linux的。所以就是要建几个“快捷方式”
## 把jdk的路径映射到linux中 ln -s /cygdrive/p/jdk7 /usr/local/jdk7 ## 把hbase的路径映射到linux中 ln -s /cygdrive/p/hbase-1.1.5 /usr/local/hbase-1.1.5
查找 JAVA_HOME ,解注释,并且把值设置为 /usr/local/jdk7
查找 HBASE_OPTS 添加 -Dhadoop.home.dir=P:/hado 既指定hadoop目录。
另外有一个教程提到需要设置 export HBASE_CLASSPATH=/usr/local/hbase-???/lib/zookeeper-???.jar:/usr/local/hbase-???/lib/slf4j-api-???.jar:/usr/local/hbase-???/lib/slf4j-log4j12-???.jar (??? 代表版本号) 博主虽然进行了设置,但是感觉应该不需要...
在官方的wiki中提到一个叫 ./conf/hbase-default.xml 的文件,而这个文件在windows下是没有的,经过搜索,得知这是hbase开发环境才使用的配置文件,而实际使用的是hbase-site.xml这个,所以该文件即可。 在文件中添加以下项目:
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://0.0.0.0:19000/hbase</value> <!-- 这部分进行了修改,现在使用本地搭建的hadoop作为文件系统 hdfs://0.0.0.0:19000 定义在hadoop/etc/hadoop/core-site.xml中 <value>file:///P:/hadoop/cygwin64/tmp/hbase</value> --> </property> <property> <name>hbase.tmp.dir</name> <value>P:/hadoop/cygwin64/tmp/hbase_tmp</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>127.0.0.1</value> </property> <property> <name>hbase.cluster.distributed</name> <value>false</value> </property> </configuration>
**然而,博主并不知道这些都是什么玩意 @_@ **
额... 先不管那些繁杂的配置了,先来启动试一下。在cygwin中执行。
/usr/local/hbase-1.1.5/conf/hbase-env.sh /usr/local/hbase-1.1.5/bin/start-hbase.sh
如果不出什么意外,hbase会提示让你输入ssh的密码,输入之后就启动成功了。这里hbase开启的是后台进程,也就是cygwin还是可以操作的,但是cygwin的窗口仍然不能关闭,会造成hbase进程停止。
继续在cygwin中输入
/usr/local/hbase-1.1.5/bin/hbase shell
开启一个 hbase 的shell窗口。 然后就可以输入命令啦。
create 'test', 'data' list put 'test', 'row1', 'data:1','value1' put 'test', 'row2', 'data:2','value2' put 'test', 'row3', 'data:3','value3'
测试结果大致如下:
感谢各位的阅读!关于“windows下怎么部署hbase”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。