您的位置:首页 > 其它

VisuaBox下安装HBase集群

2011-08-05 21:43 148 查看
前言:

如上文/article/11404228.html所述,搭建集群使用过了vmware,虽然hadoop成功运行,但是到hbase里面,虽然使用了最正统的方法,我找到官方指导安装的网址:

http://hbase.eu.apache.org/book/notsoquick.html

照着上面的步骤一步步的解决,但是最后错误频发,没有找到解决方案。

1、bin/stop-hbase.sh 命令后,一直小圆点,进程结束不了。后来查遍了几乎所有的google上此类问题,发现是Hmaster没有搞定,这才记起可以用jps命令查看进程情况,一查看,果然是那样,没有Hmaster进程。

2、进入shell后,建表以及其他操作,都提示

ERROR:org.apache.hadoop.hbase.MasterNotRunning:Null

在logs里可以看到org.apache.hadoop.hbase.master.HMaster: Unhandled exception. Starting shutdown

遍查google,发现了N中解决方案:

1)确认hbase.rootdir与hdfs.xml里面的dfs.name是否一直

2)关闭防火墙:sudo ufw disable

3)在windows主机名:c:\windows\system32\drivers/etc 加入各主机名(最后发现,原来是cywin使用者出现的问题,汗)

4)注释掉/etc/hosts里的localhost,最后发现,没必要

5)开始换版本的组合,从hadoop20.2换到hadoop20.203.0,又把hbase从90.3的一般版本换到stable版本,仍然不行。

3、最后发现的两个致命错误,这个是真实存在的

1)使用hadoop和hbase的用户,由于文件的权限限制,一直使用root用户,最后发现root会导致一些错误的产生。最后所有的机子新建grid用户。

2)本文的题目。从Vmware到visual Box,这是关键所在,换完虚拟机版本,所有问题迎刃而解,发觉困扰半周的问题居然就在这里! (版本害死人啊!!!)

建立过程(参考一网友)

当然,java,hadoo之类已经建好。我最后用了三台机子

namenode:192.168.122.136 用户名ubn

datanode1:192.168.122.140 ub1

datanode2:192.168.122.141 ub2

java路径:/home/grid/java/jdk

hadoop路径:/home/grid/hadoop

hbase路径:/home/grid/hbase

下载hbase-0.20.2.tar.gz, 解压到预设目录即可。我的目录:/home/grid/hbase/

解压完成更改文件名 mv hbase0.90.3 hbase
(这样便于设置各种变量,后面带一大串数字的文件夹名,引用时很容易出错,这也算是最大的新的)

1、修改conf/hbase-env.sh

export JAVA_HOME=/home/grid/java/jdk

export HBASE_CLASSPATH=/home/grid/hadoop/conf

export HBASE_MANAGES_ZK=true

HBASE_MANAGES_ZK选择了tru,让机子自己管理zookeeper

2、修改hbase-site.xml,增加以下内容

<property>

<name>hbase.rootdir</name>

<value>hdfs://ubn/hbase</value>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

其中: hbase.rootdir:“hdfs://ubn:9000”这部分必须和hadoop-config/core-site.xml中的fs.default.name保持一致;

3、把/home/grid/hadoop/conf/hdfs-site.xml文件拷贝至hbase的conf文件夹下

4、在conf/regionservers中添加hadoop-config/conf/slaves中所有的datanode节点。

5、删除/hbase/lib/hadoop-core-0.20-append-r1056497.jar

拷贝/hadoophadoop-0.20.0-core.jar到/hbase-0.90.2/lib/

6、最后,把配置好的hbase,拷贝到其它节点 scp

运行

Hadoop、ZooKeeper和HBase之间应该按照顺序启动和关闭:启动Hadoop->启动HBase—>停止HBase—>停止Hadoop。

执行bin/start-hbase.sh和bin/stop-hbase.sh 脚本启动和停止HBase服务。

测试,hbase shell,测试:

list 列出所有表

create 建表,如 create 'test','data'

put 插入数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: