大数据上手项目(第五天)hadoop-ha(高可用)配置

大数据上手项目(第五天)hadoop-ha(高可用)配置,第1张

大数据上手项目(第五天)hadoop-ha(高可用)配置 什么是hadooop,什么是hadoop-ha(高可用)
    hadoop

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。

用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

具有可靠、高效、可伸缩的特点。

Hadoop的核心是YARN,HDFS和Mapreduce

下图是hadoop生态系统,集成spark生态圈。在未来一段时间内,hadoop将于spark共存,hadoop与spark

都能部署在yarn、mesos的资源管理系统之上

2.hadoop高可用
hadoop-ha(高可用)就是在hadoop系统中配置两个甚至多个namenode,防止master崩溃,从而出现数据的丢失,这大大方便了我们的工作。

hadoop-ha(高可用)的配置
    core-site.xml

      fs.defaultFS
      hdfs://ns
 
 
 
      hadoop.tmp.dir
      /home/hadoop/app/hadoop-2.7.2/temp
 

 
      io.file.buffer.size
      4096
 
 
 
      ha.zookeeper.quorum
      hadoop01:2181,hadoop02:2181,hadoop03:2181
 
    hdfs-site.xml

    
        dfs.nameservices
        ns
    
    
    
       dfs.ha.namenodes.ns
       nn1,nn2
    
    
    
       dfs.namenode.rpc-address.ns.nn1
       192.168.106.11:9000
    
    
    
        dfs.namenode.http-address.ns.nn1
        192.168.106.11:50070
    
    
     
        dfs.namenode.rpc-address.ns.nn2
        192.168.106.12:9000
    
    
    
        dfs.namenode.http-address.ns.nn2
        192.168.106.12:50070
    
    
    
         dfs.namenode.shared.edits.dir
         qjournal://192.168.106.11:8485;192.168.106.12:8485;192.168.106.13:8485/ns
    
    
    
          dfs.journalnode.edits.dir
          /home/hadoop/data/hadoop/journal
    
     
    
          dfs.ha.automatic-failover.enabled
          true
    
    
    
            dfs.client.failover.proxy.provider.ns
            org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
    
    
    
             dfs.ha.fencing.methods
             sshfence
    
    
    
            dfs.ha.fencing.ssh.private-key-files
            /root/.ssh/id_rsa
    
 
        dfs.namenode.name.dir
        file:/home/hadoop/data/hadoop/name
    

    
        dfs.datanode.data.dir
        file:/home/hadoop/data/hadoop/data
    

    
       dfs.replication
       2
    
    
    
       dfs.webhdfs.enabled
       true
    

3.mapred-site.xml

cp mapred-site.xml.template mapred-site.xml




        mapreduce.framework.name
        yarn
 

    yarn-site.xml

    
            yarn.nodemanager.aux-services
            mapreduce_shuffle
     
     
            yarn.nodemanager.aux-services.mapreduce_shuffle.class
            org.apache.hadoop.mapred.ShuffleHandler
     
     
     
            yarn.resourcemanager.hostname
            192.168.106.11
      
      
          yarn.application.classpath
          192.168.106.11
      
      
          yarn.application.classpath
          /home/hadoop/app/hadoop/etc/hadoop:/home/hadoop/app/hadoop/share/hadoop/common/lib/*:/home/hadoop/app/hadoop/share/hadoop/common/*:/home/hadoop/app/hadoop/share/hadoop/hdfs:/home/hadoop/app/hadoop/share/hadoop/hdfs/lib/*:/home/hadoop/app/hadoop/share/hadoop/hdfs/*:/home/hadoop/app/hadoop/share/hadoop/mapreduce/lib/*:/home/hadoop/app/hadoop/share/hadoop/mapreduce/*:/home/hadoop/app/hadoop/share/hadoop/yarn:/home/hadoop/app/hadoop/share/hadoop/yarn/lib/*:/home/hadoop/app/hadoop/share/hadoop/yarn/*
       

启动hadoop

在启动hadoop之前首先要启动zookeeper
在三台机器上分别启动zookeeper

cd /home/hadoop/app/zookeeper
bin/zkServer.sh start

这是第一次启动需要的命令,在第一次启动正常后的启动命令为

start-all.sh

在第一个namenode创造命名空间

hdfs zkfc -formatZK

在三台机器上启动journalnode

hadoop-daemon.sh start journalnode

在主namenode节点上格式化namenode和journalnode目录

hdfs namenode -format ns

在主namenodee节点启动namenode

hadoop-daemon.sh start namenode

在备namenode节点执行第一行命令,这个是把备namenode节点的目录格式化并把元数据从主namenode节点copy过来,并且这个命令不会把journalnode目录再格式化了,然后用第二个命令启动备namenode进程!

hdfs namenode -bootstrapStandby
hadoop-daemon.sh start namenode

在两个namenode节点执行以下命令

hadoop-daemon.sh start zkfc

在所有datanode节点都执行以下命令启动datanode

hadoop-daemon.sh start datanode

启动成功后在网页查看

这是第一台机器,可以看到状态是active,活跃状态

而第二台机器的状态是standy,待命状态

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5706639.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存