你好,游客 登录 注册 搜索
背景:
阅读新闻

手把手教你配置Hbase完全分布式环境

[日期:2014-11-26] 来源: loki_lan 博客  作者: loki_lan [字体: ]

HBase配置相对比较简单,下面的教程也是基于我上面2Hadoop配置的环境下继续往下添加HBase的分布式配置,这次我的HBase安装目录放在跟Hadoop同一目录下面,节点信息跟我前一篇Hadoop完全分布式配置完全一样,不清楚的话可以参考我那篇文章。

HBase根目录:/usr/mywind/hbase

HBase的版本:0.98.8-hadoop2

有图有真相:

 

完整配置步骤:hbase-env.sh hbase-site.xml regionservers

当然,配置之前的惯例是把bin目录加到系统环境变量里面,方便命令的使用。然后,详细的步骤如下:

1. 配置hbase-env.sh,把Java环境变量告诉HBase,并配置ZooKpeer是否托管。

?
1
2
export JAVA_HOME=${JAVA_HOME}
export HBASE_HEAPSIZE_ZK=false

2.   配置hbase-site.xml,引用管网的话“假如你第一次配置,那么<configuration></configuration>之间是没有任何内容的”。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://192.168.8.184:9000/hbase</value>
  </property>
  <property>
     <name>hbase.cluster.distributed</name>
     <value>true</value>
  </property>
  <property>
      <name>hbase.master</name>
      <value>master:60000</value>
  </property>
   <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/a01513/zookeeper</value>
  </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>master,slave1,slave2,slave3</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
  </property>
</configuration>

这里要特别注意的是hbase.rootdir里面的HDFS地址是要跟Hadoop core-site.xml里面的fs.defaultFS的HDFSIP地址或者域名、端口必须一致。其次是hbase.zookeeper.property.dataDir,其中a01513是我的操作系统用户名,根据你自己的情况改吧,或者放到其他目录也是可以的。hbase.cluster.distributed 是启用分布式模式,这里必须为true哦。hbase.zookeeper.quorum是配置集群IP地址集或者域名集,逗号分隔。hbase.master配置HBase的主节点端口,web端口是60010,通过web UI你可以确认你是否访问成功了。如下图表示成功了:

3.        最后配置regionservers,这个最简单了,把里面的内容改成下面的就可以了:

 

?
1
2
3
slave1
slave2
slave3

有图有真相,让你模仿起来更有信心:

 

配置完成后启动HBase就可以了:

?
1
start-hbase.sh

 

关于Shell命令、API文档,参考官网吧。

配置中可能遇到的问题:

1.  WARN  [Thread-12] hdfs.DFSClient: DataStreamer Exception

org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /hbase/.tmp/hbase.version could only be replicated to 0 nodes instead of minReplication (=1).  There are 0 datanode(s) running and no node(s) are excluded in this operation.

    问题定位:datanode

    问题原因:datanode没有启动

    解决办法:启动datanode(start-dfs.sh)

2.    执行sh start-hbase.sh时报错,命令兼容性原因还是什么,忘记了,总之,不能使用 sh start-hbase.sh ,要用bash start-hbase.sh

原文链接:http://my.oschina.net/lanzp/blog/348116





收藏 推荐 打印 | 录入:Cstor | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款