美文网首页大数据BigData
Hadoop集群搭建高可用HBase

Hadoop集群搭建高可用HBase

作者: geekAppke | 来源:发表于2018-12-03 16:34 被阅读13次
    Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库
    利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据
    利用Zookeeper作为其分布式协同服务
    主要用来存储非结构化和半结构化的松散数据(列存 NoSQL 数据库)
    

    第二次以后启动集群:先启动zkServer.sh start(默认已经启动?),再start-dfs.sh,再start-yarn.sh最后启动yarn-daemon.sh start resourcemanager,再启动start-hbase.sh

    前提

    1、Hadoop集群正常运行 
    2、ZooKeeper集群正常运行
    

    Hadoop集群基础配置

    Hadoop伪分布式系统配置
    VM安装Linux虚拟机环境
    VM克隆Linux虚拟机集群配置
    Hadoop集群全分布式搭建
    ZooKeeper集群搭建
    HA高可用集群搭建
    YARN集群环境搭建
    Hadoop集群上搭建Hive

    增加1台裸机服务器:node005

    同样先安装hadoop,再安装hbase

     1、环境准备  hostname hosts iptables  网络
    [root@node005 ~]# scp /etc/hosts root@node001:/etc/hosts
     2、时间同步    时间服务器
    开机启动服务!
    [root@node005 ~]# yum install ntp -y
    [root@node001 ~]# service ntpd start
    [root@node005 ~]# ntpdate node001
     3、免秘钥
        主-主
        主-从
    [root@node005 ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
    [root@node005 ~]# ssh-copy-id -i ~/.ssh/id_dsa.pub root@node005
    [root@node005 ~]# ssh-copy-id -i ~/.ssh/id_dsa.pub root@node001
    ……
    [root@node005 ~]# ssh-copy-id -i ~/.ssh/id_dsa.pub root@node004
    [root@node001 ~]# ssh-copy-id -i ~/.ssh/id_dsa.pub root@node005
     4、jdk环境变量
     5、解压   环境变量
    export JAVA_HOME=/usr/java/jdk1.7.0_67
    export HADOOP_HOME=/opt/hadoop-2.6.5
    export HBASE_HOME=/opt/hbase-0.98.12.1-hadoop2
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin
    
    

    ssh-copy-id 复制本地公钥命令详解 免密码登录远程主机 | Verne in GitHub

    Hadoop2.0集群配置情况

    主机名 机器ip NN NN2 DN ZK ZKFC JNN RS NM Master Backup-Master RegionServer
    node001 192.168.118.101/24 * * * *
    node002 192.168.118.102/24 * * * * * * *
    node003 192.168.118.103/24 * * * * * *
    node004 192.168.118.104/24 * * * * *
    node005 192.168.118.105/24 *
    HBase架构


    在node001上部署hbase

    删除部署包中的 docs文件夹

    配置regionservers ,主机名
    配置backup-masters
    配置hbase-env.sh
        JAVA_HOME
        HBASE_MANAGERS_ZK=false
    配置hbase-site.xml
    添加hdfs-site.xml到conf目录下
    
    启动Hbase: start-hbase.sh 
    

    配置环境变量

    所有节点都要配置,一个个的配置,原来各个配置就不一样

    export HBASE_HOME=/opt/hbase-0.98.12.1-hadoop2
    export PATH=$PATH:$JAVA_PATH/bin:……:$HBASE_HOME/bin
    

    修改配置文件:conf/hbase-env.sh

    export JAVA_HOME=/usr/java/jdk1.7.0_67
    # Tell HBase whether it should manage it'sown instance of Zookeeper or not.
    # 用自己的zookeeper集群
    export HBASE_MANAGES_ZK=false
    

    修改配置文件:conf/hbase-site.xml

    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://mycluster:8020/hbase</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>node002,node003,node004</value>
    </property>
    
    • hbase.rootdir:是region server的共享目录,用来持久化hbase
      • mycluster是高可用配置的<name>dfs.nameservices</name>的值
    • hbase.cluster.distributed :true是分布式模式

    创建regionservers

    node002
    node003
    node004
    

    创建backup-masters

    node005
    

    拷贝$HADOOP_HOME/etc/hadoop/hdfs-site.xml$HBASE_HOME/conf

    [root@node001 conf]# cp $HADOOP_HOME/etc/hadoop/hdfs-site.xml ./
    

    配置文件:hive/conf

    node001分发部署包

    [root@node001 opt]# scp -r hbase-0.98.12.1-hadoop2/ root@node002:`pwd`/
    [root@node001 opt]# scp -r hbase-0.98.12.1-hadoop2/ root@node003:`pwd`/
    [root@node001 opt]# scp -r hbase-0.98.12.1-hadoop2/ root@node004:`pwd`/
    [root@node001 opt]# scp -r hbase-0.98.12.1-hadoop2/ root@node005:`pwd`/
    

    启动Hbase: start-hbase.sh

    前提让node001变成 active状态

    [root@node001 opt]# jps
    1408 JournalNode
    2904 HMaster
    3325 Jps
    2686 DFSZKFailoverController
    1224 NameNode
    
    [root@node002 opt]# jps
    74687 DFSZKFailoverController
    74397 HRegionServer
    1294 JournalNode
    1206 DataNode
    75144 Jps
    1503 QuorumPeerMain
    1841 NodeManager
    74806 NameNode
    
    [root@node003 hadoop]# jps
    1337 QuorumPeerMain
    1154 DataNode
    1699 ResourceManager
    1472 NodeManager
    12328 Jps
    1208 JournalNode
    12068 HRegionServer
    
    [root@node004 opt]# jps
    1151 DataNode
    11393 HRegionServer
    1545 ResourceManager
    11652 Jps
    1352 NodeManager
    1256 QuorumPeerMain
    
    [root@node005 conf]# jps
    2067 HMaster
    4009 Main
    2210 Jps
    
    浏览器:node001:60010

    SLF4J: Class path contains multiple SLF4J bindings.
    jar包重复了,去掉hbase对应的jar包;hadoop的jar包启动时需要,没有报错

    hbase(main):001:0> list
    TABLE                                                                                                                      
    SLF4J: Class path contains multiple SLF4J bindings.
    SLF4J: Found binding in [jar:file:/opt/hbase-0.98.12.1-hadoop2/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBind
    er.class]SLF4J: Found binding in [jar:file:/opt/hadoop-2.6.5/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticL
    oggerBinder.class]SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
    0 row(s) in 2.0920 seconds
    
    => []
    hbase(main):002:0> quit
    [root@node005 ~]# mv /opt/hbase-0.98.12.1-hadoop2/lib/slf4j-log4j12-1.6.4.jar /opt/hbase-0.98.12.1-hadoop2/lib/slf4j-log4j1
    2-1.6.4.jar_bak
    

    高可用Hadoop平台-HBase集群搭建

    高可用Hadoop平台-HBase集群搭建

    相关文章

      网友评论

        本文标题:Hadoop集群搭建高可用HBase

        本文链接:https://www.haomeiwen.com/subject/dlnhcqtx.html