Hadoop的HA安装与配置(Zookeeper)

基于ZooKeeper实现HDFS的HA.png

1、集群的规划

  • Zookeeper集群:
    192.168.157.112 (bigdata112)
    192.168.157.113 (bigdata113)
    192.168.157.114 (bigdata114)

  • Hadoop集群:
    192.168.157.112 (bigdata112) NameNode1 ResourceManager1 Journalnode1
    192.168.157.113 (bigdata113) NameNode2 ResourceManager2 Journalnode2
    192.168.157.114 (bigdata114) DataNode1 NodeManager1
    192.168.157.115 (bigdata115) DataNode2 NodeManager2

2、准备工作

  • 安装JDK
  • 配置环境变量
  • 配置免密码登录
  • 配置主机名

3、配置Zookeeper(在bigdata112安装)

  • 在主节点(bigdata112)上配置ZooKeeper
    • 配置/root/training/zookeeper-3.4.6/conf/zoo.cfg文件

      dataDir=/root/training/zookeeper-3.4.6/tmp
      server.1=bigdata112:2888:3888
      server.2=bigdata113:2888:3888
      server.3=bigdata114:2888:3888
      
    • 在/root/training/zookeeper-3.4.6/tmp目录下创建一个myid的空文件
      echo 1 > /root/training/zookeeper-3.4.6/tmp/myid

    • 将配置好的zookeeper拷贝到其他节点,同时修改各自的myid文件
      scp -r /root/training/zookeeper-3.4.6/ bigdata113:/root/training
      scp -r /root/training/zookeeper-3.4.6/ bigdata114:/root/training

    • 在113/114上修改myid

      • 113:echo 2 > /root/training/zookeeper-3.4.6/tmp/myid
      • 114:echo 3 > /root/training/zookeeper-3.4.6/tmp/myid

4、安装Hadoop集群(在bigdata112上安装)

  • 4.1、修改hadoo-env.sh

    export JAVA_HOME=/root/training/jdk1.8.0_181
    
  • 4.2、修改core-site.xml

    
      
      
        fs.defaultFS
        hdfs://ns1
      
            
      
      
        hadoop.tmp.dir
        /root/training/hadoop-2.7.3/tmp
      
            
      
      
        ha.zookeeper.quorum
        bigdata112:2181,bigdata113:2181,bigdata114:2181
      
    
    
  • 4.3、修改hdfs-site.xml(配置这个nameservice中有几个namenode)

         
            
            
                dfs.nameservices
                ns1
            
            
            
            
                dfs.ha.namenodes.ns1
                nn1,nn2
            
            
            
            
                dfs.namenode.rpc-address.ns1.nn1
                bigdata112:9000
            
            
            
                dfs.namenode.http-address.ns1.nn1
                bigdata112:50070
            
            
            
            
                dfs.namenode.rpc-address.ns1.nn2
                bigdata113:9000
            
            
            
                dfs.namenode.http-address.ns1.nn2
                bigdata113:50070
            
            
            
            
                dfs.namenode.shared.edits.dir
                qjournal://bigdata112:8485;bigdata113:8485;/ns1
            
            
            
                dfs.journalnode.edits.dir
                /root/training/hadoop-2.7.3/journal
            
    
            
            
                dfs.ha.automatic-failover.enabled
                true
            
            
            
            
                dfs.client.failover.proxy.provider.ns1
                org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
            
            
            
            
                dfs.ha.fencing.methods
                
                    sshfence
                    shell(/bin/true)
                
            
            
            
            
                dfs.ha.fencing.ssh.private-key-files
                /root/.ssh/id_rsa
            
            
            
            
                dfs.ha.fencing.ssh.connect-timeout
                30000
            
        
    
  • 4.4、修改mapred-site.xml

    
    
            mapreduce.framework.name
            yarn
    
    
    
  • 4.5、修改yarn-site.xml

    
        
        
           yarn.resourcemanager.ha.enabled
           true
        
    
        
        
           yarn.resourcemanager.cluster-id
           yrc
        
        
        
        
           yarn.resourcemanager.ha.rm-ids
           rm1,rm2
        
        
        
        
           yarn.resourcemanager.hostname.rm1
           bigdata112
        
        
           yarn.resourcemanager.hostname.rm2
           bigdata113
        
        
        
        
           yarn.resourcemanager.zk-address
           bigdata112:2181,bigdata113:2181,bigdata114:2181
        
        
        
           yarn.nodemanager.aux-services
           mapreduce_shuffle
        
    
    
  • 4.6、修改slaves

    bigdata114
    bigdata115
    
  • 4.7、将配置好的hadoop拷贝到其他节点
    scp -r /root/training/hadoop-2.7.3/ root@bigdata113:/root/training/
    scp -r /root/training/hadoop-2.7.3/ root@bigdata114:/root/training/
    scp -r /root/training/hadoop-2.7.3/ root@bigdata115:/root/training/

5、启动Zookeeper集群

  • 在112/113/114上执行
    zkServer.sh start
  • 查看是否执行成功:
    jps

6、在bigdata112和bigdata13上启动journalnode

  • 在112/113上执行
    hadoop-daemon.sh start journalnode
  • 查看是否执行成功:
    jps

7、格式化HDFS(在bigdata112上执行)

  • 7.1. hdfs namenode -format
  • 7.2. 将/root/training/hadoop-2.7.3/tmp拷贝到bigdata113的/root/training/hadoop-2.7.3/tmp下

8、格式化zookeeper

hdfs zkfc -formatZK

 日志:
    17/07/13 00:34:33 INFO ha.ActiveStandbyElector: Successfully created /hadoop-ha/ns1 in ZK.

9、在bigdata112上启动Hadoop集群

start-all.sh

 日志:
    Starting namenodes on [bigdata112 bigdata113]
    bigdata112: starting namenode, logging to /root/training/hadoop-2.4.1/logs/hadoop-root-namenode-hadoop113.out
    bigdata113: starting namenode, logging to /root/training/hadoop-2.4.1/logs/hadoop-root-namenode-hadoop112.out
    bigdata114: starting datanode, logging to /root/training/hadoop-2.4.1/logs/hadoop-root-datanode-hadoop115.out
    bigdata115: starting datanode, logging to /root/training/hadoop-2.4.1/logs/hadoop-root-datanode-hadoop114.out

    bigdata113: starting zkfc, logging to /root/training/hadoop-2.7.3/logs/hadoop-root-zkfc-bigdata13.out
    bigdata112: starting zkfc, logging to /root/training/hadoop-2.7.3/logs/hadoop-root-zkfc-bigdata12.out
  • bigdata113上的ResourceManager需要单独启动
    yarn-daemon.sh start resourcemanager

你可能感兴趣的:(Hadoop的HA安装与配置(Zookeeper))