5 hadoop3.0配置文件详解

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

 

posted @ 2022-11-09 17:14  Sky-wings  阅读(566)  评论(0编辑  收藏  举报