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和端口    

 
    hbase.rootdir
     hdfs://Paas1:9000/hbase
     


   注: 是否是集群标志


    hbase.cluster.distributed
    true


注: 指定一个hbase的master 。



hbase.master
Paas1:60000


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



    hbase.zookeeper.quorum
    Paas1,Pass2,Paas3


注:zookeeper失效时间 。



    zookeeper.session.timeout
    60000


注:zookeeper端口号 。



    hbase.zookeeper.property.clientPort
    2181


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退出安全模式。






你可能感兴趣的:(hbase,hadoop,集群,paas,shell,zk)