• Ubuntu: GlusterFS+HBase安装教程


        HBase通常安装在Hadoop HDFS上,但也能够安装在其它实现了Hadoop文件接口的分布式文件系统上。如KFS。

    glusterfs是一个集群文件系统可扩展到几peta-bytes。

    它集合了各种存储在infiniband rdma或互连成一个大型并行网络文件系统。存储能够由不论什么商品等硬件x86_64server和sata-ii和infiniband HBA。

    GlusterFS比Hadoop HDFS能够提供更高的性能,HBase也因此能够获得更高的性能。将HBase安装在GlusterFS上。是可行的。该方案经实际验证通过,以此文以记之。


            GlusterFS是Scale-Out存储解决方式Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展可以支持数PB存储容量和处理数千client。GlusterFS借助TCP/IP或InfiniBand RDMA网络将物理分布的存储资源聚集在一起。使用单一全局命名空间来管理数据。GlusterFS基于可堆叠的用户空间设计,可为各种不同的数据负载提供优异的性能。


    一、前提条件

            安装环境为Virtual BOX虚拟机,操作系统为Ubuntu Server 64 14.04。安装用户为bigdata.

    1、server列表

           192.168.8.108 bigdata1

           192.168.8.110 bigdata2

    2、改动Hosts

          sudo vi /etc/hosts

          192.168.8.108 bigdata1      

          192.168.8.110 bigdata2

    3、SSH配置

          sudo su - root

          passwd

          输入 admin


          同意root使用SSH口令登录:

          sudo vi /etc/ssh/sshd_config

    # Authentication:
    
LoginGraceTime 120

    #PermitRootLogin without-password    #找到这里。把它凝视
    
PermitRootLogin yes                  #改为yes  然后重新启动ssh
    StrictModes yes



          #service ssh restart
          #Tips:这里注意/etc/init.d/ssh restart 用这个方式重新启动是不成功的。


        

         SSH配置:

         bigdata1:
         #ssh-keygen -t rsa -P ""
         #cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
         #chmod 600 ~/.ssh/authorized_keys

         #scp ~/.ssh/authorized_keys root@bigdata2:~/.ssh/

    4、Java安装配置

          下载最新版 jdk64-bit版 (jdk-7u45-linux-x64.tar.gz)

          下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

          tar -zxvf jdk-7u51-linux-x64.tar.gz

          sudo mv jdk1.7.0_51 /usr/share

          环境变量设置

          sudo vi /etc/profile

          在文件的最后面添加:

          export JAVA_HOME=/usr/share/jdk1.7.0_51

          export JRE_HOME=/usr/share/jdk1.7.0_51/jre

          export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

          export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

          保存,source /etc/profile

    5、防火墙卸载

          sudoapt-get remove iptables

    二、GlusterFS安装

    1、安装GlusterFS

          sudo apt-get install glusterfs-server

          sudo  glusterfsd –version

    2、创建文件夹

          sudo mkdir -p /data/gluster

    3、创建卷

          sudo gluster volume create gluster_vol replica 2 transport tcp bigdata1:/data/gluster bigdata2:/data/gluster

          注:

          删除卷:sudo gluster volume delete gluster_vol

          强制创建:加 force

    4、停止/启动卷

          sudo gluster volume stop gluster_vol

          sudo gluster volume start gluster_vol

    5、查看卷信息

          gluster volume info 

    6、挂载卷

          sudo mount.glusterfs bigdata1:/gluster_vol /mnt/hbase

          mount.glusterfs bigdata1:/gluster_vol /mnt/hbase

    6、測试卷

          df -h 

          bigdata1:

          echo test > test1.txt

          bigdata2:

          cat test1.txt      

         

          至此,GlusterFS在Ubuntu Server上成功安装。

    以下開始安装配置HBase。

    三、HBase安装

           通过測试时证明:在分布式模式下GlusterFs能够取代hadoop的HDFS,作为Hbase的底层数据存储。
           配置步骤例如以下:
                   首先,介绍下搭建的集群模型:
           共2台server,hostname分别为:bigdata1 bigdata2(各个server之间能够ssh 无password登陆)
           Hmaseter为:bigdata1
           Hregionserver为:bigdata1
           zookeeper为:bigdata1(Hbase内置zookeeper)
                   在bigdata1、bigdata2 server的/mnt文件夹下创建hbase文件夹作为GlusterFs的mount点(即GlusterFs 的client),就是每台server都有一个/mnt/hbae/文件夹作为

         GLusterFs的client,然后让Hbase把数据写到这个文件夹以下。


                  然后改动Hbase的配置文件:hbase-env.sh    hbase- site.xml    regionservers。这3个配置文件都在/usr/local/hbase/conf/文件夹下

    1、下载/安装

          wget http://apache.fayea.com/apache-mirror/hbase/stable/hbase-0.98.7-hadoop2-bin.tar.gz

          tar xvzf hbase-0.98.7-hadoop2-bin.tar.gz 

          sudo mv hbase-0.98.7-hadoop2 /usr/local 

          sudo ln -s hbase-0.98.7-hadoop2 hbase

    2、配置

          配置文件:hbase-env.sh(bigdata1、bigdata2配置文件同样)

          export JAVA_HOME=/usr/share/jdk1.7.0_51    //JDK路径

          export HBASE_MANAGES_ZK=true  //zookeeper是用内置的还是自己搭建zookeeper(true为使用内置的)


          配置文件: hbase-site.xml   
         <configuration>
         <property>
        <name>hbase.rootdir</name>
         <value>file:///mnt/hbase/</value> //和GlusterFsclient的路径相相应
         </property>
         <property>
         <name>hbase.cluster.distributed</name>//true为分布式模式,false为单机模式
         <value>true</value>
         </property>
         <property>
          <name>hbase.master</name>
          <value>bigdata1:60000</value>
          </property>
          <property>
          <name>hbase.zookeeper.quorum</name>//zookeeper为221
         <value>bigdata1</value>
         </property>
       </configuration>

         

          配置文件 regionservers                                            //HregionServer服务器
          bigdata1     

    3、执行

          #cd /usr/local/hbase/bin

          #./start-hbase.sh  //开启hbase集群
          #./hbase shell//开启Hbase指令
          #hbase(main):001:0> status
         2 servers, 0 dead, 0.7500 average load
          配置成功。


    四、測试

           #cd /usr/local/hbase/bin

           hbase shell

           create "test" "cf"

           在bigdata2上读取全部表中的数据,假设能读到全部表中的数据,就说明底层的GlusterFs是否共享数据,GlusterFs能够取代HDFS。

    五、结论

          至此。本方案測试成功!GlusterFS能够取代HDFS,以获得更高的性能。

    当然还须要在生产环境中进一步验证。



  • 相关阅读:
    一文搞懂 ThreadLocal 原理
    听说用 Lombok 可以早点下班?
    原来 CPU 为程序性能优化做了这么多
    如何优雅地中止线程?
    线程数,射多少更舒适?
    Elasticsearch 之聚合分析入门
    Go语言之旅:基本类型
    Go语言之旅:包
    网络七层协议之数据链路层
    网络七层协议之物理层
  • 原文地址:https://www.cnblogs.com/lytwajue/p/7047850.html
Copyright © 2020-2023  润新知