Hbase分布式安装

1 Hbase集群需要依赖Hadoop集群和zookeeper集群 ,首先需要确保上述两项安装成功。(hbase对hadoop的版本有要求,具体匹配信息可以参考hbase官方文档,本文使用hadoop0.20.2 + hbase0.90.5)

2  下载 hbase0.90.5.tar.gz 解压

    tar -xvf  hbase0.90.5.tar.gz 

    ln -s hbase0.90.5 hbase //别名

3 初始化,为了方便以后升级,我将hbase的配置文件独立出来放在一个目录下/hadoop/hbase-config ,要让hbase在启动时知道我已经移动了初始化文件,可以通过设置系统变量

export HBASE_CONF_DIR=/hadoop/hbase-config 来实现,这个内容可以放在hosts文件 也可以放在.bashrc文件中。

   3.1    hbase-env.sh 添加

     export JAVA_HOME=/usr/lib/jvm/openjdk1.6/ (jdk路径)
    export HBASE_MANAGES_ZK=false  (是否需要hbase管理zookeeper集群,也可以自己管理,如果托管,hbase启动会重启zookeeper集群,这个建议设置成false,因为在实验阶段经常要重启hbase,有时候zookeeper停止不了,会出先启动异常。)
    export HBASE_PID_DIR=/hadoop/hbase/tmp (hbase的一个存放pid的位置,这个随意设置都可以)

  3.2  hbase-site.xml hbase初始化配置文件,这个比较重要,需要添加如下内容:

   注: hadoop的跟目录,这个需要和hadoop集群相关,取hadoop的namenode和端口    

 <property>
    <name>hbase.rootdir</name>
     <value>hdfs://Paas1:9000/hbase</value>
      </property>

   注: 是否是集群标志

<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>

注: 指定一个hbase的master 。


<property>
<name>hbase.master</name>
<value>Paas1:60000</value>
</property>

注:zookeeper集群的节点,这个只能用主机名,不能用别名。


<property>
    <name>hbase.zookeeper.quorum</name>
    <value>Paas1,Pass2,Paas3</value>
</property>


注:zookeeper失效时间 。


<property>
    <name>zookeeper.session.timeout</name>
    <value>60000</value>
</property>


注:zookeeper端口号 。


<property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
</property>


4 hbase启动

 在bin目录下运行:./start-hbase.sh

 

5 hbase测试:

 用命令#hbase shell 可以到hbase shell控制台 。

 hbase还自带一个web控制台,地址是: http:masterIp:60010 

只有在web控制台能正常启动了才算安装成功。

备注: hbase启动过程中常常回报出 hostname unkonwn异常,这个是应为在hosts文件中没有对应的主机名。常因为设置了主机别名做regionserver,但是zookeeper只能使用主机名,而造成了错误配置。


6重启

查看节点情况:
status
当然,也可以通过web页面查看(如果服务开放的话):
http://serviceIp:60010/master.jsp

http://serviceIp:60030/regionserver.jsp

http://serviceIp:60010/zk.jsp

重启
$bin/hbase-daemon.sh stop regionserver
$bin/hbase-daemon.sh start regionserver


问题记录:

1、启动Hbase之前尽量关闭Hadoop的HDFS的安全模式,未关闭可能会造成Hbase在HDFS上创建文件不成功,日志记录中也会出现如下记录:

2012-04-10 21:37:01,999 INFO org.apache.hadoop.hbase.util.FSUtils: Waiting for dfs to exit safe mode...
2012-04-10 21:37:12,003 INFO org.apache.hadoop.hbase.util.FSUtils: Waiting for dfs to exit safe mode...
2012-04-10 21:37:22,006 INFO org.apache.hadoop.hbase.util.FSUtils: Waiting for dfs to exit safe mode...
2012-04-10 21:37:32,011 INFO org.apache.hadoop.hbase.util.FSUtils: Waiting for dfs to exit safe mode...
2012-04-10 21:37:42,014 INFO org.apache.hadoop.hbase.util.FSUtils: Waiting for dfs to exit safe mode...
2012-04-10 21:37:52,019 INFO org.apache.hadoop.hbase.util.FSUtils: Waiting for dfs to exit safe mode...
2012-04-10 21:38:02,022 INFO org.apache.hadoop.hbase.util.FSUtils: Waiting for dfs to exit safe mode...
2012-04-10 21:38:12,029 INFO org.apache.hadoop.hbase.util.FSUtils: Waiting for dfs to exit safe mode...
2012-04-10 21:38:22,032 INFO org.apache.hadoop.hbase.util.FSUtils: Waiting for dfs to exit safe mode...
2012-04-10 21:38:32,036 INFO org.apache.hadoop.hbase.util.FSUtils: Waiting for dfs to exit safe mode...

解决方法:使用 hadoop dfsadmin -safemode leave 命令使Hadoop退出安全模式。






  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值