HBase集群环境部署

HBase官方网站: http://hbase.apache.org/

官网使用向导:http://hbase.apache.org/book.html

1.上传hbase安装包:

版本:hbase-1.2.4-bin.tar.gz

2.解压:

sudo tar zxvf hbase-1.2.4-bin.tar.gz

sudo mv hbase-1.2.4 /data/

sudo chown hadoop:hadoop hbase-1.2.4/ -R

3.把hadoop的hdfs-site.xmlcore-site.xml 放hbase/conf下(zk集群已经安装好了)

cd /data/hadoop-2.7.3/etc/hadoop/

cp core-site.xml /data/hbase-1.2.4/conf/

cp hdfs-site.xml /data/hbase-1.2.4/conf/

4.   修改3个文件:

(1)修改hbase-env.sh

export JAVA_HOME=/usr/local/jdk/jdk1.7.0_51  //修改实际的JAVA_HOME目录地址

export HBASE_MANAGES_ZK=false  //告诉hbase使用外部的zk

(2) 修改hbase-site.xml

<configuration>

   <property>

     <name>hbase.rootdir</name>  <!-- 指定hbase在HDFS上存储的路径 -->

     <value>hdfs:///hadoop/hbase</value>

   </property>

   <property>

     <name>hbase.cluster.distributed</name>  <!-- 指定hbase是分布式的 -->

     <value>true</value>

   </property>

   <property>

     <name>hbase.zookeeper.property.clientPort</name>  <zk客户端端口>

     <value>2181</value>

   </property>

   <property>

     <name>hbase.zookeeper.quorum</name>  <!-- 指定zk的地址,多个用“,”分割 -->

     <value>node1,node2,node3</value>

   </property>

   <property>

     <name>hbase.zookeeper.property.dataDir</name> <ZooKeeperzoo.conf中的配置>

     <value>/home/hadoop/zookeeper</value>

    </property>

</configuration>

 

hbase.rootdir

        这个目录是region server的共享目录,用来持久化Hbase。URL需要是'完全正确'的,还要包含文件系统的scheme。例如,要表示hdfs中的'/hbase'目录,namenode 运行在node1的49002端口。则需要设置为hdfs://node1:49002/hbase。默认情况下Hbase是写到/tmp的。不改这个配置,数据会在重启的时候丢失。默认: file:///tmp/hbase-${user.name}/hbase

hbase.cluster.distributed :

        Hbase的运行模式。false是单机模式,true是分布式模式。若为false,Hbase和Zookeeper会运行在同一个JVM里面。默认: false

hbase-site.xml配置zookeeper

        当Hbase管理zookeeper的时候,你可以通过修改zoo.cfg来配置zookeeper,一个更加简单的方法是在 conf/hbase-site.xml里面修改zookeeper的配置。Zookeeer的配置是作为property写在 hbase-site.xml里面的。对于zookeepr的配置,你至少要在 hbase-site.xml中列出zookeepr的ensemble servers,具体的字段是 hbase.zookeeper.quorum. 该这个字段的默认值是 localhost,这个值对于分布式应用显然是不可以的. (远程连接无法使用)。

hbase.zookeeper.property.clientPort

ZooKeeper的zoo.conf中的配置。 客户端连接的端口。

hbase.zookeeper.quorum

        Zookeeper集群的地址列表,用逗号分割。例如:"host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".默认是localhost,是给伪分布式用的。要修改才能在完全分布式的情况下使用。如果在hbase-env.sh设置了HBASE_MANAGES_ZK,这些ZooKeeper节点就会和Hbase一起启动。默认: localhost

        运行一个zookeeper也是可以的,但是在生产环境中,你最好部署3,5,7个节点。部署的越多,可靠性就越高,当然只能部署奇数个,偶数个是不可以的。你需要给每个zookeeper 1G左右的内存,如果可能的话,最好有独立的磁盘。 (独立磁盘可以确保zookeeper是高性能的。).如果你的集群负载很重,不要把Zookeeper和RegionServer运行在同一台机器上面。就像DataNodes 和 TaskTrackers一样

hbase.zookeeper.property.dataDir

        ZooKeeper的zoo.conf中的配置。 快照的存储位置把ZooKeeper保存数据的目录地址改掉。默认值是 /tmp ,这里在重启的时候会被操作系统删掉,可以把它修改到 /home/hadoop/zookeeper (这个路径hadoop用户拥有操作权限)

 

       对于独立的Zookeeper,要指明Zookeeper的host和端口。可以在 hbase-site.xml中设置, 也可以在Hbase的CLASSPATH下面加一个zoo.cfg配置文件。 HBase 会优先加载 zoo.cfg 里面的配置,把hbase-site.xml里面的覆盖掉.

 

我的配置文件如下:

<configuration>

   <property>

     <name>hbase.rootdir</name> 

     <value>hdfs:///hadoop/hbase</value>

   </property>

   <property>

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

     <value>true</value>

   </property>

   <property>

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

     <value>2181</value>

   </property>

   <property>

     <name>hbase.zookeeper.quorum</name>

     <value>node1,node2,node3</value>

   </property>

   <property>

     <name>hbase.zookeeper.property.dataDir</name>

     <value>/home/hadoop/zookeeper</value>

    </property>

</configuration>

(3)  修改集群机器 regionservers

node1

node2

node3

5. 启动所有的hbase:

         分别启动zk:   ./zkServer.sh start

         启动hadoop集群start-dfs.sh

         启动hbase,在主节点上运行:start-hbase.sh

6. 通过浏览器访问hbase管理页面:

192.168.11.16:60010(1.0版本后改为16010

7.为保证集群的可靠性,要启动多个HMaster

         hbase-daemon.sh start master

 

 

HRegionServer   为hbase进程

QuorumPeerMain为zookeeper进程(使用hbase自带的是HQuorumPeerMain)

8.  启动hbase shell:

报警: 

解决方法:Jar包冲突了

hbase-1.2.4/lib/ 下的slf4j-log4j12-1.7.5.jar

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值