Hbase-----完全分布式搭建

Hbase完全分布式搭建

1 简要说明
完全分布式,指的就是除了hmaster守护进程外,有多个regionserver守护进程,并且每一个regionserver守护进程独占一个机器节点。使用的文件系统是HDFS。
布局如下:

hadoop01:  hmaster   regionserver
hadoop02:  hmaster   regionserver
hadoop03:            regionserver

环境说明:
必须配置好集群的免密登录认证
必须配置时间同步。保证集群节点的时间差不能超过30秒,否则regionserver启动失败
2 搭建步骤
步骤1): 上传、解压、配置环境变量 、重导生效

[root@hadoop01 ~]# tar -zxvf hbase-1.2.1-bin.tar.gz -C /usr/local/
[root@hadoop01 ~]# cd /usr/local/
[root@hadoop01 local]# mv hbase-1.2.1/ hbase
[root@hadoop01 local]# vim /etc/profile

…省略…
#hbase environment

export HBASE_HOME=/usr/local/hbase
export PATH=$HBASE_HOME/bin:$PATH

[root@hadoop01 local]# source /etc/profile

步骤2):配置hbase-env.sh环境脚本

[root@hadoop01 local]# vi $HBASE_HOME/conf/hbase-env.sh


#找到下面内容,解开注释,添加具体路径

#The java implementation to use.  Java 1.7+ required.
export JAVA_HOME=/usr/local/jdk

#Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=false       #禁止内置zookeeper

步骤3):配置hbase-site.xml文件


   <!-- 指定hbase在HDFS上存储的路径 -->
   
      hbase.rootdir</name>
      hdfs://hadoop01:8020/hbase</value>
   </property>
   <!-- 指定hbase是分布式的 -->
   
      hbase.cluster.distributed</name>
      true</value>
   </property>
   <!-- 指定zk的地址,多个用“,”分割 -->
   
      hbase.zookeeper.quorum</name>
      hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
   </property>
   <!--将属性hbase.unsafe.stream.capability.enforce 改为true -->
   
      hbase.unsafe.stream.capability.enforce</name>
      true</value>
   </property>
   <!-- 取消内存检查 -->
   
      hbase.table.sanity.checks</name>
      false</value>
   </property>
</configuration>

步骤4):配置regionservers文件,添加regionserver所在机器的host

[root@hadoop01 local]#  vi $HBASE_HOME/conf/regionservers

删除localhost
添加:

  hadoop01
    hadoop02
    hadoop03

步骤5):配置备份hmaster: 创建backup-masters文件

[root@hadoop01 local]#  cd $HBASE_HOME/conf/
[root@hadoop01 conf]#  echo "hadoop02">> backup-masters

步骤6): 将hadoop的core-site.xml和hdfs-site.xml拷贝到hbase的conf目录下

[root@hadoop01 conf]#  cp $HADOOP_HOME/etc/hadoop/{core-site.xml,hdfs-site.xml} $HBASE_HOME/conf/

步骤7):同步到其他节点上

[root@hadoop01 local]# scp -r /usr/local/hbase hadoop02:/usr/local
[root@hadoop01 local]# scp -r /usr/local/hbase hadoop03:/usr/local
[root@hadoop01 local]# scp /etc/profile hadoop02:/etc/
[root@hadoop01 local]# scp /etc/profile hadoop03:/etc/


注意:
重新引导一下各个节点的环境变量配置情况
3 启动集群
启动顺序如下:
第一步:必须先启动hdfs和zookeeper

[root@hadoop01 ~]# zkServer.sh start
[root@hadoop02 ~]# zkServer.sh start
[root@hadoop03 ~]# zkServer.sh start


别忘记:zkServer.sh status查看状态

[root@hadoop01 ~]# start-dfs.sh

第二步:启动hbase的守护进程

[root@hadoop01 ~]# start-hbase.sh

第三步:检查相关进程

方式1: jps
方式2: webui  ---> hadoop01:16010

4 客户端连接集群
1)hbase本身自己就提供了一个命令行连接工具

[root@hadoop01 ~]# hbase shell

2)可以使用java语言调用API接口连接

你可能感兴趣的:(Hadoop,hbase,分布式,hadoop)