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.rootdir</name>
          <!--这个data事先需要创建-->
          <value>file:///training/hbase-1.3.1/data</value>
      </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地址或者主机名:
              <!--HBase的数据保存在HDFS对应目录-->
              <property>
                <name>hbase.rootdir</name>
                <value>hdfs://niit06:9000/hbase</value>
              </property>    
              <!--是否是分布式环境-->
              <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
              </property>            
              <!--配置ZK的地址-->
              <property>
                <name>hbase.zookeeper.quorum</name>
                <value>niit06</value>
              </property>                
              <!--冗余度-->
              <property>
                <name>dfs.replication</name>
                <value>1</value>
              </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的数据保存在HDFS对应目录,hadoop是全分布式-->
       	<property>
       	  <name>hbase.rootdir</name>
       	  <value>hdfs://master:9000/hbase</value>
       	</property>    
       	<!--是否是分布式环境-->
       	<property>
       	  <name>hbase.cluster.distributed</name>
       	  <value>true</value>
       	</property>            
       	<!--配置ZK的地址-->
       	<property>
       	  <name>hbase.zookeeper.quorum</name>
       	  <value>master</value>
       	</property>                
       	<!--冗余度-->
       	<property>
       	  <name>dfs.replication</name>
       	  <value>2</value>
       	</property>    
       	<!--主节点和从节点允许的最大时间误差-->
       	<property>
       	  <name>hbase.master.maxclockskew</name>
       	  <value>180000</value>
       	</property>    
      

      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
      如下图所示:
      在这里插入图片描述
      注意:如果你使用的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目录下
    具体参考如下配置:

    <!--HBase的数据保存在HDFS对应目录,hadoop是HA,其中ns1来自与hdfs-site.xml中的hdfs-site.xml的配置dfs.nameservices-->
    <property>
      <name>hbase.rootdir</name>
      <value>hdfs://ns1/hbase</value>
    </property>    
    <!--是否是分布式环境-->
    <property>
      <name>hbase.cluster.distributed</name>
      <value>true</value>
    </property>            
    <!--配置ZK的地址-->
    <property>
      <name>hbase.zookeeper.quorum</name>
      <value>hadoop002,hadoop003,hadoop004</value>
    </property>                
    <!--冗余度-->
    <property>
      <name>dfs.replication</name>
      <value>3</value>
    </property>    
    <!--主节点和从节点允许的最大时间误差-->
    <property>
      <name>hbase.master.maxclockskew</name>
      <value>180000</value>
    </property>
    <!-- 可选择配置 -->
    <property>
        <!-- 定义regionserver上用于等待响应用户表级请求的线程数,可配大点 -->
        <name>hbase.regionserver.handler.count</name>
        <value>12</value>
    </property>
    <property>
        <!-- 这里因为要HMaster的HA,不需要指定域名 -->
        <name>hbase.master</name>
        <value>60000</value>
    </property>
    
  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

若兰幽竹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值