HBase几种安装方式

HBase几种安装方式

    • 一、前提说明
    • 二、具体安装步骤

一、前提说明


  1. Hadoop已经完成安装(如伪分布式、全分布式等

  2. zookeeper已经完成安装(全分布式和HA模式需要

  3. 环境对应关系如下:

    hbase环境 对应hadoop环境 对应外部zookeeper环境
    本地模式 不需要 不需要
    伪分布式 伪分布式 单机安装(也可用hbase内置zookeeper)
    全分布式 全分布式 集群模式(也可用hbase内置zookeeper)
    HA模式 HA模式 集群模式(也可用hbase内置zookeeper)

    本教程都使用hbase内置的zookeeper,不需要另外单独安装部署zookeeper

二、具体安装步骤


  1. 本地模式(不需要HDFS,保存在Linux的文件系统)

    1. 事先需要在/training/hbase-1.3.1目录下创建data目录,执行:
      mkdir /training/hbase-1.3.1/data

    2. 进入到/training/hbase-1.3.1/conf目录下,
      编辑:vi hbase-env.sh,修改如下信息:
      export JAVA_HOME=/training/jdk1.8.0_171

    3. 编辑:vi hbase-site.xml,在之间添加如下信息:

      <property>
          <name>hbase.rootdirname>
          
          <value>file:///training/hbase-1.3.1/datavalue>
      property>
      
    4. 启动HBase,执行:start-hbase.sh,看到正常启动日志如下:

      starting master, logging to /training/hbase-1.3.1/logs/hbase-root-master-niit00.out

      jps查看进程:只有HMaster

    5. 启动hbase,执行:hbase shell,登录到hbase上,进行如下测试:

      1. 创建学生表
        create 'student','info','grade'
      2. 登录到web Console上查看:http://niit01:16010
  2. 伪分布模式(需要HDFS环境,即Hadoop已经启动了)

    1. 上传hbase-1.3.1-bin.tar.gz到/tools目录下
    2. 将hbase-1.3.1-bin.tar.gz文件解压并安装到/training目录下
      tar -zvxf hbase-1.3.1-bin.tar.gz -C /training/
    3. 配置环境变量
      vi ~/.bash_profile
      在打开的.bash_profile文件中添加如下信息:
          export HBASE_HOME=/training/hbase-1.3.1
          export PATH=$HBASE_HOME/bin:$PATH
      
    4. 让环境变量生效
      source ~/.bash_profile
    5. 验证配置hbase的环境变量是否生效
      hbase ----- 看看是否有Usage: hbase [] []信息,如果有则生效了,否则,配置有误
    6. 进入到/training/hbase-1.3.1/conf目录下
      cd /training/hbase-1.3.1/conf
      在该目录下找到如下文件进行修改:
      (a) 编辑:vi hbase-env.sh,修改如下信息:
      1. 找到# export JAVA_HOME=/usr/java/jdk1.6.0/这句代码,将#号去掉,将/usr/java/jdk1.6.0改成你自己的JAVA_HOME路径。我本机的JAVA_HOME的路径是:/training/jdk1.8.0_171,所以我修改好之后的样子如下:
      export JAVA_HOME=/training/jdk1.8.0_171
      2. 找到# export HBASE_MANAGES_ZK=true 将#号去掉即可(不用单独安装zk)
      3. 保存退出
      (b). 编辑:vi hbase-site.xml,在之间添加如下信息,注意下面的有IP的地址需要修改成你自己主机的IP地址或者主机名:
              
              <property>
                <name>hbase.rootdirname>
                <value>hdfs://niit06:9000/hbasevalue>
              property>    
              
              <property>
                <name>hbase.cluster.distributedname>
                <value>truevalue>
              property>            
              
              <property>
                <name>hbase.zookeeper.quorumname>
                <value>niit06value>
              property>                
              
              <property>
                <name>dfs.replicationname>
                <value>1value>
              property>
      
      (c). 编辑:vi regionservers,配置从节点地址(伪分布只有一台主机,所以配置一个即可):将localhost改成IP地址或者主机名,如niit06
    7. 启动HBase:
      start-hbase.sh
    8. 使用jps命令查看,是否已经启动了如下三个进程(如果以下上个进程存在,则说明安装配置hbase成功了):
      	HRegionServer
      	HQuorumPeer
       	HMaster
      
    9. 登录Web Console进程查看:
      http://niit01:16010
  3. 全分布模式(有三台主机:master(主节点) slave01(从节点) slave02(从节点))
    特别注意:如果没有特别说明的,以下所有的操作默认都是在主节点(niit01)上进行的

    1. 上传hbase-1.3.1-bin.tar.gz到/tools目录下

    2. 将hbase-1.3.1-bin.tar.gz文件解压并安装到/training目录下
      tar -zvxf hbase-1.3.1-bin.tar.gz -C /training/

    3. 配置环境变量(这里需要在三台主机上都要配置.
      vi ~/.bash_profile
      在打开的.bash_profile文件中添加如下信息:

      	export HBASE_HOME=/training/hbase-1.3.1
      	export PATH=$HBASE_HOME/bin:$PATH
      
    4. 让环境变量生效
      source ~/.bash_profile

    5. 验证配置hbase的环境变量是否生效
      hbase ----- 看看是否有Usage: hbase [] []信息,如果有则生效了,否则,配置有误

    6. 进入到/training/hbase-1.3.1/conf目录下
      cd /training/hbase-1.3.1/conf
      在该目录下找到如下文件进行修改:
      a. vi hbase-env.sh,修改如下信息:
      1. 找到# export JAVA_HOME=/usr/java/jdk1.6.0/这句代码,将#号去掉,将/usr/java/jdk1.6.0改成你自己的JAVA_HOME路径
      我本机的JAVA_HOME的路径是:/training/jdk1.8.0_171,所以我修改好之后的样子如下:
      export JAVA_HOME=/training/jdk1.8.0_171
      2. 找到# export HBASE_MANAGES_ZK=true 将#号去掉即可
      3. 保存退出
      b. vi hbase-site.xml,在之间添加如下信息,
      注意下面的有IP的地址需要修改成你自己主机的IP地址:

       	
       	
       	  hbase.rootdir
       	  hdfs://master:9000/hbase
       	    
       	
       	
       	  hbase.cluster.distributed
       	  true
       	            
       	
       	
       	  hbase.zookeeper.quorum
       	  master
       	                
       	
       	
       	  dfs.replication
       	  2
       	    
       	
       	
       	  hbase.master.maxclockskew
       	  180000
       	    
      

      c. vi regionservers,配置从节点地址:
      将localhost改成IP地址或者主机名:
      slave01
      slave02
      注意事项:使用主机名 必须在每台机器上配置 /etc/hosts

    7. 进入到/training目录下,将hbase-1.3.1整个目录复制到其他两个从节点上:
      scp -r hbase-1.3.1/ root@slave01:/training
      scp -r hbase-1.3.1/ root@slave02:/training

    8. 在主节点上启动HBase:
      start-hbase.sh

    9. 使用jps命令查看,是否已经启动了如下三个进程(如果以下上个进程存在,则说明安装配置hbase成功了):
      从节点:HRegionServer
      主节点:HMaster

    10. 登录Web Console进程查看:
      http://master:16010
      如下图所示:
      HBase几种安装方式_第1张图片
      注意:如果你使用的jdk版本是1.8+以上的,当你在启动hbase集群时,会有如下警告
      在这里插入图片描述

      解决方法:需要到节点中所有的节点中对hbase-env.sh进行修改,按照下图所示注释掉如下两行代码即可
      在这里插入图片描述

  4. HBase实现HA(在以上全分布模式的基础上,任意选择niit02或者niit03作为HMaster即可)
    假设我选择niit02作为备份的HMaster的话,我需要在niit02上手动启动一个HMaster进程即可:
    hbase-daemon.sh start master
    如果是HA模式下,需要将hdfs-site.xml和core-site.xml复制到hbase的conf目录下
    具体参考如下配置:

    
    <property>
      <name>hbase.rootdirname>
      <value>hdfs://ns1/hbasevalue>
    property>    
    
    <property>
      <name>hbase.cluster.distributedname>
      <value>truevalue>
    property>            
    
    <property>
      <name>hbase.zookeeper.quorumname>
      <value>hadoop002,hadoop003,hadoop004value>
    property>                
    
    <property>
      <name>dfs.replicationname>
      <value>3value>
    property>    
    
    <property>
      <name>hbase.master.maxclockskewname>
      <value>180000value>
    property>
    
    <property>
        
        <name>hbase.regionserver.handler.countname>
        <value>12value>
    property>
    <property>
        
        <name>hbase.mastername>
        <value>60000value>
    property>
    

你可能感兴趣的:(Hbase,hbase)