• Hbase数据库安装


    本文所有工作基于上一篇博客《Hadoop平台搭建(VMware、CentOS)》,请确认已按照上文正确搭建好Hadoop环境

    本文所有工作主要参考Apache HBase官方参考文档,部分步骤有所改变

    本文工作止于在运行的HBase上测试基本的数据表功能,以确定HBase的正常运行

    =====================================================================================

     一、集群结构

      在配置Hadoop环境的时候,集群包含1个NameNode和3个DataNode共四台主机。而在HBase这里,由于需要配置ZooKeeper服务且官方建议配置奇数台服务器,因此这里放弃一个DataNode,只留下3台主机配置HBase。结构如下:

    Hostname(IP) Hadoop Node HBase Master ZooKeeper RegionServer
    Master.Hadoop(192.168.222.134) NameNode Yes Yes No
    Slave1.Hadoop(192.168.222.135) DataNode Backup Yes Yes
    Slave2.Hadoop(192.168.222.136) DataNode No Yes Yes

    二、配置ZooKeeper服务(于所有节点)

      安装分布式数据库HBase需要基于一个ZooKeeper集群。因此,需要先在三台主机上配置ZooKeeper服务。

      配置思路可以有两种,一种是按照以下步骤分别在每台主机上解压缩并配置;另一种是只在一台主机上配置,然后通过scp -r指令将zookeeper文件夹复制到另外的主机,需要修改的是步骤⑦中的myid文件。第二种配置方式效率更高。

      ①下载zookeeper-3.4.6

      ②在/home/下建立zookeeper文件夹

        mkdir /home/zookeeper

      ③解压文件

        tar -zxvf zookeeper-3.4.6.tar.gz

      ④在zookeeper-3.4.6下建立子目录

        cd /home/zookeeper/zookeeper-3.4.6

        mkdir data  //保存zookeeper数据

        mkdir logs  //保存运行日志

      ⑤zookeeper运行配置

        cd conf

        cp zoo_sample.cfg zoo.cfg

        vi zoo.cfg

        修改或添加以下两项(Line#12):

          dataDir=/home/zookeeper/zookeeper-3.4.6/data

          dataLogDir=/home/zookeeper/zookeeper-3.4.6/logs

        末尾添加以下:

          server.1=192.168.222.134:2888:3888  //2888是zookeeper服务之间的通信端口号

          server.2=192.168.222.135:2888:3888  //3888是zookeeper与其他应用程序通信端口号

          server.3=192.168.222.136:2888:3888

        保存退出

      ⑥配置zookeeper环境变量

        vi /etc/profile

        末尾追加以下:

          #zookeeper
          export ZOOKEEPER_HOME=/home/zookeeper/zookeeper-3.4.6/
          export PATH=$ZOOKEEPER_HOME/bin:$PATH
          export PATH

        保存退出

        使配置生效:

          source /etc/profile

      ⑦设置myid文件(各主机不同)

        进入dataDir目录下(这里是/home/zookeeper/zookeeper-3.4.6/data)

        cd /home/zookeeper/zookeeper-3.4.6/data

        echo "1" >> myid  //这里的"1"对应zoo.cfg中添加的server.1,也即在192.168.222.135主机上设置为2,最后一台设置为3

        cat myid  //查看确认myid内容

      ⑧启动/状态/停止(由于配置了环境变量,因此zkServer.sh为全局指令,无所谓在哪个工作路径)

        zkServer.sh start  //启动zookeeper

        zkServer.sh status  //查看zookeeper启动状态

        zkServer.sh stop  //停止zookeeper服务

      ⑨运行状态

        

        

        

        运行状态有所调整,刚启动时Slave1为leader,现在又变成了Slave2,并且Slave1收到一条消息。

      ⑩关闭zookeeper服务

    三、安装并配置HBase

       根据集群结构,需要在三台主机上安装HBase,并配置Master.Hadoop为HMaster,Slave1.Hadoop为Backup,Slave1.Hadoop及Slave2.Hadoop配置RegionServer。

      ①下载hbase-1.2.4-bin.tar.gz

      ②在/home/下建立hbase文件夹

        mkdir /home/hbase

      ③解压文件

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

      ④配置Hbase的JAVA环境变量

        cd /home/hbase/hbase-1.2.4/conf

        vi hbase-env.sh

        修改JAVA_HOME变量(Line#27):

          export JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.131.x86_64"  

      ⑤配置HBase的核心参数

        cd /home/hbase/hbase-1.2.4/conf

        vi hbase-site.xml

    <configuration>
        <property>
            <name>hbase.rootdir</name>
            <value>hdfs://192.168.222.134:9000/hbase</value>
        </property>
        <property>
            <name>hbase.zookeeper.property.dataDir</name>
            <value>/home/zookeeper/zookeeper-3.4.6/data</value>
        </property>
        <property>
            <name>hbase.cluster.distributed</name>
            <value>true</value>
        </property>    
        <property>
            <name>hbase.zookeeper.quorum</name>
         <value>Master.Hadoop,Slave1.Hadoop,Slave2.Hadoop,Slave3.Hadoop</value>
        </property>
    </configuration>

      ⑥配置集群主机之间的SSH无密码通信

        参考《Hadoop平台搭建(VMware、CentOS)》一文中第6步

      ⑦配置RegionServer

        cd /home/hbase/hbase-1.2.4/conf

        vi regionservers

        内容修改为:

          192.168.222.135

          192.168.222.136

      ⑧配置HMaster backup

        cd /home/hbase/hbase-1.2.4/conf

        vi backup-masters  //backup-masters文件为新建文件

        添加如下内容:

          Slave1.Hadoop

      ⑨将Hbase复制到另外两台主机

        scp -r /home/hbase root@192.168.222.135:/home/hbase

        scp -r /home/hbase root@192.168.222.137:/home/hbase

      ⑩启动HBase

        cd /home/hbase/hbase-1.2.4/

        bin/start-hbase.sh

        可能会要求确认是否添加信任,需要手动输入yes并回车

      ⑪jps查看各主机进程

        

        

        

      ⑫在浏览器中查看HBase信息

        http://192.168.222.134:16010/

        

        还有更多信息未截图

      

    三、测试HBase基本功能

      ①连接HBase

        ./bin/hbase shell

      ②创建新数据表test

        

      ③查看数据表test

        

      ④添加数据

        

      ⑤查看表格内容

        

      ⑥获得某一数据记录

        

      ⑦更多操作请参考HBase官方文档

    四、经验集锦

      ①在配置zookeeper及hbase的过程中,出现错误或异常仍然需要优先查看.log文件以及.out文件。

      ②在选择配置的hadoop、zookeeper、hbase以及基本的JDK版本时,可以参考官方说明

      ③在配置hbase-env.sh文件时,我们只配置了JAVA_HOME。在该文件中还可以配置默认为true的HBASE_MANAGE_ZK参数,该参数默认由hbase来同步开启/关闭zookeeper服务,如有必要可以配置为false,然后手动控制zookeeper。

      ④在配置hbase的第④步骤中,实际情况是设置JAVA_HOME变量不可以使用${JAVA_HOME},运行时会提示:

       "Error:JAVA_HOME is not set and could not be found"

    五、参考文章

      ①zookeeper安装(centos环境下)

      ②在CentOS上安装ZooKeeper集群

      ③CentOS下ZooKeeper 3.4.8 集群环境搭建

      ④Zookeeper3.4.6的安装

      ⑤hbase 的基本结构

  • 相关阅读:
    linux 文件系统(inode和block)
    vue状态管理vuex从浅入深详细讲解
    小白都能看懂的vue中各种通信传值方式,附带详细代码
    CSS3移动端vw+rem不依赖JS实现响应式布局
    JavaScript原生封装ajax请求和Jquery中的ajax请求
    永久解决Sublime包管理package control 打开install package报错 There are no packages available for installation
    从GitLab上创建分支本地拉取项目和提交项目详解
    前端路由的两种实现方式,内附详细代码
    几个例子理解浅拷贝和深拷贝
    讲解JavaScript中对闭包的理解
  • 原文地址:https://www.cnblogs.com/zmt0429/p/6512008.html
Copyright © 2020-2023  润新知