• HBase完全分布式安装


    环境

    Linux:Centos Linux 7.3
    JDK:jdk1.8.0_181
    Hadoop:2.8.5
    Zookeeper:3.4.13
    HBase:1.4.8

    服务器
    bigdata01:192.168.1.50 (主节点)
    bigdata02:192.168.1.51
    bigdata03:192.168.1.52

    安装步骤
    1,下载hbase安装包hbase-1.4.8-bin.tar.gz,并上传到bigdata01服务器的/opt目录中。
    2,解压安装包,

    tar -zvxf hbase-1.4.8-bin.tar.gz

    然后将目录hbase-1.4.8修改为hbase,

    mv hbase-1.4.8 hbase

    3,进入hbase的conf目录,编辑hbase-env.sh文件,修改JAVA_HOME,

    export JAVA_HOME=/usr/local/java/jdk1.8.0_181

    因为我们用的jdk1.8,所以注释掉下面两行,

    # export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
    # export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"


    这两个配置是用于jdk1.7的;
    HBASE_MANAGES_ZK变量, 此变量默认为true,告诉HBase是否启动/停止ZooKeeper集合服务器作为HBase启动/停止的一部分。如果为true,这Hbase把zookeeper启动,停止作为自身启动和停止的一部分。如果设置为false,则表示独立的Zookeeper管理。我们将其设置为false,

    export HBASE_MANAGES_ZK=false

    修改Hbase堆设置,将其设置成4G,

    export HBASE_HEAPSIZE=4G

    然后保存文件。
    4,接下来编辑配置文件hbase-site.xml,

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
    <property>
    <name>hbase.zookeeper.quorum</name>
    <value>bigdata01:2181,bigdata02:2181,bigdata03:2181</value>
    <description>The directory shared by RegionServers.
    </description>
    </property>	
    <property>
    <name>hbase.rootdir</name>
    <value>hdfs://bigdata01:9666/hbase</value>
    <description>The directory shared by RegionServers.
    </description>
    </property>
    <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
    <description>The mode the cluster will be in. Possible values are
    false: standalone and pseudo-distributed setups with managed ZooKeeper
    true: fully-distributed with unmanaged ZooKeeper Quorum (see hbase-env.sh)
    </description>
    </property>
    </configuration>
    

      



    hbase.zookeeper.quorum: 这个参数是用来设置zookeeper服务列表,每个服务器之间使用使用逗号分隔,2181是zookeeper默认端口号,你可以自行根据你的端口号添加,默认的端口号加不加都无所谓。
    hbase.rootdir: 这个参数是用来设置RegionServer 的共享目录,用来存放HBase数据。特别需要注意的是 hbase.rootdir 里面的 HDFS 地址是要跟 Hadoop 的 core-site.xml 里面的 fs.defaultFS 的 HDFS 的 IP 地址或者域名、端口必须一致。
    hbase.cluster.distributed: HBase 的运行模式。为 false 表示单机模式,为 true 表示分布式模式。

    5,编辑regionservers文件,配置从服务器,去掉 localhost,添加 slaves 节点

    bigdata02
    bigdata03

    6,把 hadoop 的 hdfs-site.xml 复制一份到 hbase 的 conf 目录下,

    cp /opt/hadoop/etc/hadoop/hdfs-site.xml /opt/hbase/conf/

    7,将配置好的 habase 分发到其它节点对应的路径下

    scp -r /opt/hbase root@bigdata02:/opt/
    scp -r /opt/hbase root@bigdata03:/opt/

    8,分别在三台服务器上增加HBASE_HOME环境变量,修改vim /etc/profile

    export HBASE_HOME=/opt/hbase

    export PATH=$HBASE_HOME/bin:$PATH


    使配置生效

    source /etc/profile

    9,同步服务器时间,我们在使用HDFS的时候经常会出现一些莫名奇妙的问题,通常可能是由于多台服务器的时间不同步造成的。我们可以使用网络时间服务器进行同步。
    安装ntpdate工具

    yum -y install ntp ntpdate

    设置系统时间与网络时间同步

    ntpdate cn.pool.ntp.org

    将系统时间写入硬件时间

    hwclock --systohc

    查看系统时间

    timedatectl

    10,在 bigdata01上输入:start-hbase.sh,启动hbase

    等待启动完成,在每个节点上输入 jps 命令,查看进程

     

    出现以上进程表 hbase 明启动成功了。
    通过浏览器访问http://bigdata01:16010可以查看hbase 集群状态。

    实例配置:

    Hbase 分布式集群搭建 需在 hadoop集群, zookeeper集群建立的基础上创建 

    [root@hadoop000 conf]# cat hbase-site.xml 
    *****
    
    <configuration>
            
              <property>
            <name>hbase.rootdir</name>
            <value>hdfs://hadoop000:8020/hbase</value>
        </property>
    
    
         <property>
            <name>hbase.master.info.port</name>
            <value>60010</value>
     </property>
    
    
        <property>
            <name>hbase.cluster.distributed</name>
            <value>true</value>
        </property>
    
       <property>
            <name>hbase.zookeeper.quorum</name>
            <value>hadoop000,hadoop001,hadoop002</value>
        </property>
    
    
    </configuration>
    

      

    [root@hadoop000 conf]# cat hbase-env.sh |grep -v "^#"
    
    export JAVA_HOME=/home/JDK/jdk1.8.0_181
    
    export HBASE_OPTS="-XX:+UseConcMarkSweepGC"
    
    export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
    export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
    
    
     export HBASE_MANAGES_ZK=false
    

      

    [root@hadoop000 conf]# cat regionservers 
    hadoop001
    hadoop002
    

      

    [root@hadoop001 conf]# cat hbase-site.xml
    
    <configuration>
            
              <property>
            <name>hbase.rootdir</name>
            <value>hdfs://hadoop000:8020/hbase</value>
        </property>
    
    
         <property>
            <name>hbase.master.info.port</name>
            <value>60010</value>
     </property>
    
    
        <property>
            <name>hbase.cluster.distributed</name>
            <value>true</value>
        </property>
    
       <property>
            <name>hbase.zookeeper.quorum</name>
            <value>hadoop001,hadoop002,hadoop000</value>
        </property>
    
    
    </configuration>
    

      

    [root@hadoop001 conf]# cat hbase-env.sh |grep -v "^#"
    
    export JAVA_HOME=/home/jdk8
    
    
    export HBASE_OPTS="-XX:+UseConcMarkSweepGC"
    
    export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
    export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m -XX:ReservedCodeCacheSize=256m"
    
    
     export HBASE_MANAGES_ZK=false
    

      

    [root@hadoop001 conf]# cat regionservers 
    hadoop001
    hadoop002
    

      

  • 相关阅读:
    二叉搜索树的java实现
    HashMap源码分析
    集合之LinkedList源码分析
    集合之ArrayList的源码分析
    CountDownLatch源码解析
    部署java项目到阿里云服务器(centos7版本)
    并发中的单例模式
    AbstractQueuedSynchronizer的简单分析
    ThreadPoolExecutor的分析(二)
    ThinkPHP5 与 ThinkPHP3.* 之间的使用差异
  • 原文地址:https://www.cnblogs.com/weifeng1463/p/10886655.html
Copyright © 2020-2023  润新知