• 5 hadoop3.0配置文件详解 Sky


    hadoop配置文件详解
    主要配置文件:
    hadoop-env.sh
    core-site.xml
    hdfs-site.xml
    mapred-site.xml
    yar-site.xml
    workers
    参考:
    https://hadoop.apache.org/docs/r3.0.1/
    https://www.aboutyun.com/thread-26880-1-1.html
    https://www.cnblogs.com/simple-li/p/14651340.html
    
    1 hadoop-env.sh
    配置hadoop环境变量
    cat  hadoop-env.sh
    
    
    
    export JAVA_HOME=/usr/local/jdk1.8.0_131
    export HDFS_NAMENODE_USER=root
    export HDFS_DATANODE_USER=root
    export HDFS_SECONDARYNAMENODE_USER=root
    export HDFS_ZKFC_USER=root
    export HDFS_JOURNALNODE_USER=root
    #export HADOOP_NAMENODE_OPTS=" -Xms1024m -Xmx1024m -XX:+UseParallelGC"
    
    2 core-site.xml
    Hadoop 核心全局配置文件,可在其他配置文件中引用该文件
    
    cat core-site.xml
    <configuration>
    <property>
            <!-- 制定hdfs的nameservice,默认的链接地址,可以自定义的-->
            <name>fs.defaultFS</name>
            <value>hdfs://ns1</value>
        </property>
        <property>
            <name>dfs.nameservices</name>
            <value>ns1</value>
        </property>
    
        <property>
            <!--临时文件存储目录-->
    
            <name>hadoop.tmp.dir</name>
            <value>/hadoop/tmp</value>
        </property>
        <property>
            <!--指定zookeeper,还可以更多的设置超时时间等内容-->
            <name>ha.zookeeper.quorum</name>
            <value>vm1:2181,vm1:2181,vm1:2181</value>
        </property>
    </configuration>
    
    
    
    
    
    
    3 hdfs-site.xml
    HDFS配置文件,继承core-site.xml配置文件。Hadoop的底层存储配置文件,主要配置HDFS相关参数
    
    
    cat hdfs-site.xml
    <configuration>
        <property>
          <!--设置的副本数量,在程序汇总副本的系数是可以更改的-->
            <name>dfs.replication</name>
            <value>3</value>
        </property>
        <property>
            <!--配置的nameservice的名字,需要与core-site.xml中保持一致,并且利用其名称与namenode设置唯一标识-->
    
            <name>dfs.nameservices</name>
            <value>ns1</value>
        </property>
        <property>
            <!--配置cluster下面的namenode名称-->
            <name>dfs.ha.namenodes.ns1</name>
            <value>nn1,nn2</value>
        </property>
        <property>
            <!--配置namenode的地址与端口(RPC)-->
            <name>dfs.namenode.rpc-address.ns1.nn1</name>
            <value>vm1:8020</value>
        </property>
        <property>
            <name>dfs.namenode.rpc-address.ns1.nn2</name>
            <value>vm2:8020</value>
        </property>
        <property>
            <!--配置namenode的地址与端口(HTTP)-->
            <name>dfs.namenode.http-address.ns1.nn1</name>
            <value>vm1:50070</value>
        </property>
        <property>
            <name>dfs.namenode.http-address.ns1.nn2</name>
            <value>vm2:50070</value>
        </property>
        <property>
            <!--journal namenode同步namenode的元数据共享存储位置。也就是journal的列表信息->
            <name>dfs.namenode.shared.edits.dir</name>
            <value>qjournal://vm1:8485;vm2:8485;vm3:8485/ns1</value>
        </property>
        <property>
            <!--配置高可用方案内容,失败后自动切换的方式-->
            <name>dfs.client.failover.proxy.provider.ns1</name>
            <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
        </property>
        <property>
            <!--ssh方案配置-->
            <name>dfs.ha.fencing.methods</name>
            <value>sshfence</value>
        </property>
        <property>
            <name>dfs.ha.fencing.ssh.private-key-files</name>
            <value>/root/.ssh/id_rsa</value>
        </property>
        <property>  
            <!--namenode文件路径信息(元数据)-->
    
            <name>dfs.name.dir</name> #<name>dfs.namenode.name.dir</name>
            <value>/hadoop/dfs/name</value>  
        </property>
        <property>
            <!--datanode数据保存路径,可配置多个数据盘-->
            <name>dfs.data.dir</name>  
            <value>/hadoop/data</value>  #<value>/hadoop/data,/hadoop/data2,/hadoop/data3</value>
        </property>        
        <property>
            <!--journalnode的保存文件路径-->
            <name>dfs.journalnode.edits.dir</name>
            <value>/hadoop/journalnode</value>
        </property>
        <property>
            <!--开启NameNode失败自动切换-->
            <name>dfs.ha.automatic-failover.enabled</name>
            <value>true</value>
        </property>
    </configuration>
    
    
    4 mapred-site.xml
    MapReduce 配置文件,继承 core-site.xml 配置文件
    yarn的web地址和history的web地址以及指定我们的mapreduce运行在yarn集群上
    
    cat mapred-site.xml
    
    
    <!-- Put site-specific property overrides in this file. -->
    
    <configuration>
            <!-- 指定 MapReduce 程序运行在 Yarn 上,表示MapReduce使用yarn框架 -->
            <property>
                    <name>mapreduce.framework.name</name>
                    <value>yarn</value>
            </property>
            <!-- 开启MapReduce小任务模式 -->
            <property>
                <name>mapreduce.job.ubertask.enable</name>
                <value>true</value>
            </property>
            <!-- 设置历史任务的主机和端口 -->
            <property>
                <name>mapreduce.jobhistory.address</name>
                <value>vm1:10020</value>
            </property>
            <!-- 设置网页访问历史任务的主机和端口 -->
            <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>vm1:19888</value>
            </property>
    </configuration>
    
    5 yarn-site.xml
    YARN配置文件,继承 core-site.xml配置文件
    
    cat  yarn-site.xml
    
    <configuration>
    
    <!-- Site specific YARN configuration properties -->
        <property> 
           <!--是否开启RM ha,默认是开启的--> 
           <name>yarn.resourcemanager.ha.enabled</name>  
           <value>true</value>  
        </property>  
        <property>
           <!--声明两台resourcemanager的地址-->
           <name>yarn.resourcemanager.cluster-id</name>  
           <value>rmcluster</value>  
        </property>  
        <property>
           <!--制定rm的名字-->
           <name>yarn.resourcemanager.ha.rm-ids</name>  
           <value>rm1,rm2</value>  
        </property>  
        <property> 
           <!--指定rm的地址-->
           <name>yarn.resourcemanager.hostname.rm1</name>  
           <value>vm1</value>  
        </property>  
        <property>  
           <name>yarn.resourcemanager.hostname.rm2</name>  
           <value>vm2</value>  
        </property>  
        <property>
           <!--指定zookeeper集群的地址-->
           <name>yarn.resourcemanager.zk-address</name>  
           <value>vm1:2181,vm2:2181,vm3:2181</value>  
        </property>   
        <property> 
           <!--启用自动恢复,当任务进行一半,rm坏掉,就要启动自动恢复,默认是false-->
           <name>yarn.resourcemanager.recovery.enabled</name>  
           <value>true</value>  
        </property>   
        <property>
           <!--指定resourcemanager的状态信息存储在zookeeper集群,默认是存放在FileSystem里面--> 
           <name>yarn.resourcemanager.store.class</name>  
           <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>  
        </property>
    </configuration>
    
    6 /home/hadoop/hadoop-3.2.2/etc/hadoop/workers
    数据节点加入到workers里面:
    vm2
    vm3
  • 相关阅读:
    s
    qq
    qqq
    q
    qq
    http请求报文
    qq
    q
    qqq
    java对象-String的用法
  • 原文地址:https://www.cnblogs.com/skyzy/p/16874488.html
Copyright © 2020-2023  润新知