• HDFS与YARN HA部署配置文件


    core-site.xml

    <!--Yarn 需要使用 fs.defaultFS 指定NameNode URI -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://ruozeclusterg6</value>
    </property>
    
    <!--==============================Trash机制======================================= -->
    <property>
        <!--多长时间创建CheckPoint NameNode截点上运行的CheckPointer 从Current文件夹创建CheckPoint;默认:0 由fs.trash.interval项指定 ,fs.trash.checkpoint.interval则是指垃圾回收的检查间隔,应该是小于或者等于fs.trash.interval。如果是0,值等同于fs.trash.interval。每次检查器运行,会创建新的检查点。-->
        <name>fs.trash.checkpoint.interval</name>
        <value>0</value>
    </property>
    
    <!--指定hadoop临时目录, hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配 置namenode和datanode的存放位置,默认就放在这>个路径中 -->
    <property>   
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/tmp</value>
    </property>
    #hadoop.tmp.dir需要自己创建
    [hadoop@hadoop001 hadoop]$ mkdir -p /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/tmp
    
    <!-- 指定zookeeper地址 -->
    <property>
        <name>ha.zookeeper.quorum</name>
        <value>hadoop001:2181,hadoop002:2181,hadoop003:2181</value>  
    </property>
    
    <!--hadoop代理user的host,hadoop进程允许访问的用户机器host或者用户组,proxyuser后面指定的hadoop进程运行的用户,如果改成别的用户,则必须以该用户启动hadoop进程-->
    <property>
        <name>hadoop.proxyuser.hadoop.hosts</name>
        <value>*</value> 
    </property> 
    
    <property> 
        <name>hadoop.proxyuser.hadoop.groups</name> 
        <value>*</value> 
    </property> 
    

    hdfs-site.xml

    <!--dfs的namenode节点的name.dir目录需要自己创建-->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/data/dfs/name</value>
        <description> namenode 存放name table(fsimage)本地目录(需要修改)</description>
    </property>
    
    [hadoop@hadoop001 hadoop]$ mkdir -p /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/data/dfs/name
    <!--dfs的datanode的data。dir目录,同样需要自己创建-->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/data/dfs/data</value>
        <description>datanode存放block本地目录(需要修改)</description>
    </property>
    
    <!--HDFS高可用配置 -->
    <!--指定hdfs的nameservice为clustername,需要和core-site.xml中的保持一致 -->
    <property>
        <name>dfs.nameservices</name>
        <value>ruozeclusterg6</value>
    </property>
    
    <property>
        <!--设置NameNode IDs 此版本最大只支持两个NameNode,nn1,nn2表示的是下面的hadoop001跟hadoop002的映射-->
        <name>dfs.ha.namenodes.ruozeclusterg6</name>
        <value>nn1,nn2</value>
    </property>
    
    <!-- Hdfs HA: dfs.namenode.rpc-address.[nameservice ID] rpc 通信地址 -->
    <property>
        <name>dfs.namenode.rpc-address.ruozeclusterg6.nn1</name>
        <value>hadoop001:8020</value>
    </property>
    
    <property>
        <name>dfs.namenode.rpc-address.ruozeclusterg6.nn2</name>
        <value>hadoop002:8020</value>
    </property>
    
    <property>
        <!--JournalNode存放数据地址,同样需要自己创建 -->
        <name>dfs.journalnode.edits.dir</name>
        <value>/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/data/dfs/jn</value>
    </property>
    
    [hadoop@hadoop001 hadoop]$ mkdir -p /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/data/dfs/jn
    <!--这边配置的是SSH信任关系私钥的配置,前面配置了hadoop的信任关系,这边也配置成hadoop-->
    <property>
        <name>dfs.ha.fencing.ssh.private-key-files</name>
        <value>/home/hadoop/.ssh/id_rsa</value>
    </property>
    <!--动态许可datanode连接namenode列表 -->
    
    <property>
        <name>dfs.hosts</name>
        <value>/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/slaves</value>
    </property>
    

    mapred-site.xml

    <!-- 配置 MapReduce Applications -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <!-- JobHistory Server ============================================================== -->
    <!-- 配置 MapReduce JobHistory Server 地址 ,默认端口10020 -->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop001:10020</value>
    </property>
    <!-- 配置 MapReduce JobHistory Server web ui 地址, 默认端口19888 -->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop001:19888</value>
    </property>
    
    <!-- 配置 Map段输出的压缩,snappy-->
    <property>
        <name>mapreduce.map.output.compress</name> 
        <value>true</value>
    </property>
    
    <property>
        <name>mapreduce.map.output.compress.codec</name> 
        <value>org.apache.hadoop.io.compress.SnappyCodec</value>
    </property>
    

    yarn-site.xml

    <!-- 集群名称,确保HA选举时对应的集群,rm1,rm2代表了hadoop001跟hadoop002的映射 -->
    <property>
        <name>yarn.resourcemanager.cluster-id</name>
        <value>yarn-cluster</value>
    </property>
    <property>
        <name>yarn.resourcemanager.ha.rm-ids</name>
        <value>rm1,rm2</value>
    </property>
    <!-- Client访问RM的RPC地址 (applications manager interface) -->
    <property>
        <name>yarn.resourcemanager.address.rm1</name>
        <value>hadoop001:23140</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address.rm2</name>
        <value>hadoop002:23140</value>
    </property>
    <!--yarn的资源配置-->
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>2048</value>
    </property>
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>1024</value>
        <discription>单个任务可申请最少内存,默认1024MB</discription>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>2048</value>
        <discription>单个任务可申请最大内存,默认8192MB</discription>
    </property>
    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>2</value>
    </property>
    

    启动流程:

    1.启动journalnode:hadoop-daemon.sh start journalnode
    
    2.格式化hadoop namenode,同时将namenode1的data文件copy到namenode2,保证一致:
    
    hadoop namenode -format
    
    3.zkfc格式化:hdfs zkfc -formatZK
    
    4.启动集群:start-dfs.sh
    
    5.启动yarn:start-yarn.sh ,手动启动第二台机器的resourcemanager:yarn-daemon.sh start resourcemanager
    
    6.正常启动集群之后,可以通过web页面,访问hdfs端口50070以及yarn端口8088
    
  • 相关阅读:
    EasyUI前后端分离
    easyUI权限
    EasyUI入门
    MVC(增删改查)
    MYSQL01 CentOS7下搭建mysql5.6
    Linux02:CentOS7配置静态IP
    Linux01:CentOS7桥接模式主机和虚拟机ping不通问题解决
    windows环境01 xampp+phpwind环境搭建
    Python模块之目录
    Django
  • 原文地址:https://www.cnblogs.com/suixingc/p/hdfs-yuyarn-ha-bu-shu-pei-zhi-wen-jian.html
Copyright © 2020-2023  润新知