HBase 安装(分布式)

1131阅读 0评论2012-01-12 常虫清
分类:

安装包:
公司本地:
官网下载:

官网的安装步骤:单机模式、伪分布式、分布式,但安装步骤比较简单,本次记录的是分布式安装。

hbase-0.90.5据官网文档说吻合hadoop-0.2x版本

安装步骤:
PS:前提已安装了jdk和hadoop;本人环境是hadoop-0.21 ; 可以独立安装zookeeper,但本次安装中使用hbase中
自带服务进行运行。

1. cd /data && wget 
2. tar -zxvf hbase-0.90.5.tar.gz && chown -R hadoop:hadoop hbase-0.90.5 (我hadoop环境和hive环境都是运行
在hadoop用户和组上,所以为了统一也把hadoop运行在hadoop用户上)
3. 修改hbase-env.sh 设置相应的环境变量
jdk环境变量: export JAVA_HOME=/usr/java/jdk1.6.0_21/
日志环境变量: export HBASE_LOG_DIR=${HBASE_HOME}/log/hbase
                    如果启动的时候发现寻找不了HBASE_HOME可以添加 export HBASE_HOME=/data/hbase-0.90.5
打开zk管理: export HBASE_MANAGES_ZK=true

4. 修改hbase-site.xml,配置hbase
配置hbase中在hadoop的根路径

    hbase.rootdir
    hdfs://hadoop-29-63:9000/hbase
    The directory shared by region servers.


打开集群模式


            hbase.cluster.distributed
            true
            The mode the cluster will be in. Possible values are
              false: standalone and pseudo-distributed setups with managed Zookeeper
              true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh)
            

 

hbase.cluster.distributed设置为true,表明是完全分布式的hbase集群


配置hbase所使用端口
  
    hbase.master  
    hdfs://hadoop-29-63:60000  
 

配置多路zookeeper,官网提示的个数最好为奇数(3,5,7)

    hbase.zookeeper.quorum
    hadoop-29-74,hadoop-29-86,hadoop-29-115
    Comma separated list of servers in the ZooKeeper Quorum.      For example, "host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".      By default this is set to localhost for local and pseudo-distributed modes      of operation. For a fully-distributed setup, this should be set to a full      list of ZooKeeper quorum servers. If HBASE_MANAGES_ZK is set in hbase-env.sh      this is the list of servers which we will start/stop ZooKeeper on.
    




    hbase.zookeeper.property.dataDir
    /opt/log/zookeeper
    Property from ZooKeeper's config zoo.cfg.
        The directory where the snapshot is stored.
    






5. 编辑regionservers文件,设置regionservers的服务器,和hadoop的slaves一样即可

6. 将本机已配置好的hbase,整个打一一个包,传输到其它各个节点中。

7. 启动hbase
${HBASE_HOME}/bin/start-hbase.sh (停止为${HBASE_HOME}/bin/stop-hbase.sh)

------------------------------------------------------------------------------------
Hbase默认只有一个Master,我们可以也启动多个Master:

${HBASE_HOME}/bin/hbase-daemon.sh start master
不过,其它的Master并不会工作,只有当主Master down掉后其它的Master才会选择接管Master的工作
------------------------------------------------------------------------------------



启动中可能出现这样的问题:
org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 42, server = 41) 

hadoop 与 hbase版本兼容问题
我是这样解决的:
把/data/hadoop-0.20.2/hadoop-0.20.2-core.jar /data/hbase-0.90.5/lib/hadoop-core-0.20-append-r1056497.jar 进行复制
(复制前可以备份一下被覆盖的jar包),copy过来后,记得文件的权限用户归属的也要和前jar包一样。
然后重启,就可以让hbase正常运行。

8.登录hbase
/data/hbase-0.90.5/bin/hbase shell

见到如上见面可以说明你的hbase安装成功

通过连点查看信息


通过 查看zookeeper信息

上一篇:rpm 相互依赖的解决办法。
下一篇:数据中心选址方案