【Hadoop】集群配置之主要配置文件(hadoop-env.sh、yarn-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml...)

  • Hadoop配置文件模板
    • core-site.xml
    • hadoop-env.sh
    • hdfs-site.xml
    • yarn-env-sh
    • yarn-site.xml
    • mapred-site.xml
    • slaves

Hadoop配置文件模板

参考官方配置文档:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html#Configuring_Environment_of_Hadoop_Daemons

Hadoop的配置文件都在$HADOOP_HOME/etc/hadoop下面。比如我这里是:

在这里插入图片描述

Hadoop主要配置文件:

配置文件 功能描述
hadoop-env.sh 配置Hadoop运行所需的环境变量
yarn-env.sh 配置Yarn运行所需的环境变量
core-site.xml Hadoop核心全局配置文件,可在其他配置文件中引用该文件
hdfs-site.xml HDFS配置文件,继承core-site.xml配置文件
mapred-site.xml MapReduce配置文件,继承core-site.xml配置文件
yarn-site.xml Yarn配置文件,继承core-site.xml配置文件

core-site.xml

参考官方core-default.xml配置字段信息:hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/core-default.xml

该文件是Hadoop的核心配置文件,其目的是配置HDFS地址、端口号,以及临时文件目录。

<configuration>
    
	<property>
        <name>fs.defaultFSname>
        <value>hdfs://hadoop1:9000value>
    property>
	
    <property>
        <name>hadoop.tmp.dirname>
        <value>file:/app/hadoop/hadoop-2.6.4/tmpvalue>
    property>
    
    <property>
        <name>hadoop.proxyuser.hduser.hostsname>
        <value>*value>
    property>
    <property>
        <name>hadoop.proxyuser.hduser.groupsname>
        <value>*value>
    property>
configuration>

hadoop-env.sh

hadoop-env.sh用来保证Hadoop系统能够正常执行HDFS的守护进程NameNode、Secondary NameNode和DataNode。

修改 HADOOP_CONF_DIRJAVA_HOME 环境变量值,并添加HADOOP_LOG_DIR 环境变量项。

export JAVA_HOME=/usr/lib/java/jdk1.7.0_79
export HADOOP_LOG_DIR=/app/hadoop/hadoop-2.6.4/tmp
export HADOOP_CONF_DIR=/app/hadoop/hadoop-2.6.4/etc/hadoop

修改完之后source编译该文件,让修改生效。


hdfs-site.xml

参考官方hdfs-default.xml配置字段信息:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

该文件用于设置HDFS的NameNode和DataNode两大进程。

<configuration>
    
	<property>
        <name>dfs.namenode.secondary.http-addressname>
        <value>hadoop1:9000value>
    property>
	
    <property>
        <name>dfs.namenode.name.dirname>
        <value>file:/app/hadoop/hadoop-2.6.4/namevalue>
    property>
    
    <property>
        <name>dfs.datanode.data.dirname>
        <value>file:/app/hadoop/hadoop-2.6.4/datavalue>
    property>
    
    <property>
        <name>dfs.replicationname>
        <value>3value>
    property>
    
    <property>
        <name>dfs.webhdfs.enabledname>
        <value>truevalue>
    property>
configuration>

yarn-env-sh

添加JAVA_HOME 环境变量值。

export JAVA_HOME=/usr/lib/java/jdk1.7.0_79

yarn-site.xml

参考官方yarn-default.xml配置字段信息:https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

本文件是Yarn框架的核心配置文件,配置ResourceManager 和NodeManager。

<configuration>
    
	<property>
        <name>yarn.nodemanager.aux-servicesname>
        <value>mapreduce_shufflevalue>
    property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.classname>
        <value>org.apache.hadoop.mapred.ShuffleHandlervalue>
    property>
    
    <property>
        <name>yarn.resourcemanager.addressname>
        <value>hadoop1:8032value>
    property>
    <property>
        <name>yarn.resourcemanager.scheduler.addressname>
        <value>hadoop1:8030value>
    property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.addressname>
        <value>hadoop1:8031value>
    property>
    <property>
        <name>yarn.resourcemanager.admin.addressname>
        <value>hadoop1:8033value>
    property>
    <property>
        <name>yarn.resourcemanager.webapp.addressname>
        <value>hadoop1:8088value>
    property>
configuration>

mapred-site.xml

参考官方配置信息:hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

该文件是MapReduce的核心配置文件,用于指定MapReduce运行时框架。在etc/hadoop/目录中默认没有该文件,需要先通过“cp mapred-site.xml.template mapred-site.xml”命令将文件复制并重命名为“mapred-site.xml”。接着,打开mapred-site.xml文件进行修改。

<configuration>
	
    <property>
        <name>mapreduce.framework.namename>
        <value>yarnvalue>
     property>
    
    <property>
        <name>mapreduce.jobhistory.addressname>
        <value>hadoop1:10020value>
     property>
    <property>
        <name>mapreduce.jobhistory.webapp.addressname>
        <value>hadoop1:19888value>
     property>
configuration>

slaves

在etc/hadoop/slaves文件中列出所有工作节点的主机名或者IP地址。每行一个。用来配合一键启动脚本启动集群从节点。要使用此功能,必须为用于运行 Hadoop 的账户建立 ssh 信任(通过无密码 ssh 或其他方式,如 Kerberos)。打开该配置文件,先删除里面的内容(默认localhost),然后配置如下内容:

hadoop1
hadoop2
hadoop3

你可能感兴趣的:(hadoop,xml,hdfs)