搭建HBase完全分布式集群

参考:

http://blog.csdn.net/chabale/article/details/8808620

http://www.cnblogs.com/netbloomy/p/6677883.html

HBase集群建立在hadoop集群基础之上,所以在搭建HBase集群之前需要把Hadoop集群搭建起来,并且要考虑二者的兼容性.现在就以5台机器为例,搭建一个简单的集群.

软件版本:hadoop-2.8.0,hbase-1.3.0,zookeeper-3.4.10

5台机器IP192.168.70.101(c7001)192.168.70.102(c7002)192.168.70.103(c7003)192.168.70.104(c7004)192.168.70.105(c7005)

一.搭建Hadoop集群

参看:hadoop HA分布式集群搭建

二.安装zookeeper

参看:zookeeper集群安装

三.部署hbase

1.解压缩hbase的软件包,使用命令:

tar -zxvf hbase-1.3.0-bin.tar.gz  

2.进入hbase的配置目录,在hbase-env.sh文件里面加入java环境变量.即:

export JAVA_HOME=/opt/jdk1.8.0_121

#Hbase日志目录

export HBASE_LOG_DIR=/root/hadoop/hbase-0.94.6.1/logs                            

#如果使用HBase自带的Zookeeper值设成true 如果使用自己安装的Zookeeper需要将该值设为false

关闭HBase自带的Zookeeper,使用Zookeeper集群:

export  HBASE_MANAGES_ZK=false  

3. 编辑hbase-site.xml ,添加配置文件:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://c7001:8020/hbase</value>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <property>
             <name>hbase.master</name>
             <value>hdfs://master:60000</value>
      </property>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>c7003,c7004,c7005</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/opt/hbase-1.3.0/tmp/zk/data</value>
  </property>
</configuration>

hbase.rootdir指定Hbase数据存储目录

hbase.cluster.distributed 指定是否是完全分布式模式,单机模式和伪分布式模式需要将该值设为false

hbase.master指定Master的位置

hbase.zookeeper.quorum 指定zooke的集群,多台机器以逗号分隔

4. 编辑配置目录下面的文件regionservers. 命令:

vi   regionservers    

加入如下内容:

c7004
c7005

再修改Hadoop hdfs-site.xml下的一个属性值。(记得其他的datanode也要进行修改)

<property> 
  <name>dfs.datanode.max.xcievers</name> 
  <value>4096</value> 
</property>

该参数限制了datanode所允许同时执行的发送和接受任务的数量,缺省为256,hadoop-defaults.xml中通常不设置这个参数。这个限制看来实际有些偏小,高   负载

5. 把Hbase复制到其他机器,命令如下:

[vagrant@c7003 opt]$ scp -r hbase-1.3.0 vagrant@c7004:/opt/
[vagrant@c7003 opt]$ scp -r hbase-1.3.0 vagrant@c7005:/opt/

6. 在c7003机器开启hbase服务。命令如下:

启动顺序:先启动Hadoop-》hbase,如果使用自己安装的zookeeper启动顺序是:Hadoop-》zookeeper-》hbase

停止顺序:hbase->zookeeper->hadoop

[vagrant@c7003 hbase-1.3.0]$ bin/start-hbase.sh  

在c7003、c7004、c7005中的任意一台机器使用bin/hbase shell 进入hbase自带的shell环境,然后使用命令version等,进行查看hbase信息及建立表等操作。   

至此:

c7001、c7002、c7003、c7004、c7005集群各个进程情况如下所示:

原文地址:https://www.cnblogs.com/codemakerhj/p/7226962.html