Hadoop~Hadoop配置文件(workers、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml)

1.workers文件

表明集群使用了几个从节点

# 使用node1、node2、node3作为从节点
node1
node2
node3

2.hadoop-env.sh文件

  • JAVA_HOME:指明JDK环境的位置在哪
  • HADOOP_HOME:指明Hadoop安装位置
  • HADOOP_CONF_DIR:指明Hadoop配置文件目录位置
  • HADOOP_LOG_DIR:指明Hadoop运行日志目录位置
# 示例
export JAVA_HOME=/export/server/jdk
export HADOOP_HOME=/export/server/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_LOG_DIR=$HADOOP_HOME/logs

3.core-site.xml文件

  • fs.defaultFS:HDFS文件系统的网络通讯路径,表明DataNode要和哪个部署NameNode主机上的哪个端口通信
  • io.file.buffer.size:io操作文件缓冲区大小
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <!-- 协议为hdfs:// -->
        <!-- namenode为node1 -->
        <!-- namenode通讯端口为8020-->
        <!-- 表明DataNode将和node1的8020端口通讯,node1是NameNode所在机器 -->
        <value>hdfs://node1:8020</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
        <description>设置文件读写操作的缓冲区大小</description>
        <description>不同版本默认值不同,一般来说为4096字节</description>
    </property>
</configuration>

<!-- 回收站相关 -->
<property>
    <name>fs.trash.interval</name>
    <value>1440</value>
    <description>设置文件或目录在回收站中保留的时间,单位是分钟</description>
    <description>默认值为0,表示禁用回收站功能</description>
</property>
<property>
    <name>fs.trash.checkpoint.interval</name>
    <value>120</value>
    <description>设置回收站检查点的时间间隔,单位是分钟</description>
    <description>注意:应小于或等于fs.trash.interval的值</description>
    <description>默认值为0,当fs.trash.interval大于0时,fs.trash.checkpoint.interval会被自动设置为fs.trash.interval的一半</description>
</property>

4.hdfs-site.xml文件

  • dfs.datanode.data.dir.perm:hdfs文件系统,默认创建的文件权限设置
    • 700,即:rwx------
  • dfs.namenode.name.dir:NameNode元数据的存储位置
  • dfs.namenode.hosts:NameNode允许哪几个节点的DataNode连接(即允许加入集群)
  • dfs.blocksize:hdfs默认块大小
  • dfs.namenode.handler.count:namenode处理的并发线程数
  • dfs.datanode.data.dir:从节点DataNode的数据存储目录
<configuration>
    <property>
        <name>dfs.datanode.data.dir.perm</name>
        <value>700</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/data/nn</value>
    </property>
    <property>
        <name>dfs.namenode.hosts</name>
        <value>node1,node2,node3</value>
    </property>
    <property>
        <name>dfs.blocksize</name>
        <value>268435456</value>
    </property>
    <property>
        <name>dfs.namenode.handler.count</name>
        <value>100</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/data/dn</value>
    </property>
    
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
</configuration>

5.mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
        <description>MapReduce的运行框架设置为YARN</description>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>node1:10020</value>
        <description>历史服务器通讯端口为node1:10020</description>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>node1:19888</value>
        <description>历史服务器web端口为node1的19888</description>
    </property>
    <property>
        <name>mapreduce.jobhistory.intermediate-done-dir</name>
        <value>/data/mr-history/tmp</value>
        <description>历史信息在HDFS的记录临时路径</description>
    </property>
    <property>
        <name>mapreduce.jobhistory.done-dir</name>
        <value>/data/mr-history/done</value>
        <description>历史信息在HDFS的记录路径</description>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
        <description>MapReduce HOME 设置为HADOOP_HOME</description>
    </property>
    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
        <description>MapReduce HOME 设置为HADOOP_HOME</description>
    </property>
    <property>
        <name>mapreduce.reduce.env</name>
                <value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
        <description>MapReduce HOME 设置为HADOOP_HOME</description>
    </property>
</configuration>

6.yarn-env.sh

# 设置JDK路径的环境变量
export JAVA_HOME=/export/server/jdk
# 设置HADOOP_HOME的环境变量
export HADOOP_HOME=/export/server/hadoop
# 设置配置文件路径的环境变量
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
# 设置日志文件路径的环境变量
export HADOOP_LOG_DIR=$HADOOP_HOME/logs

7.yarn-site.xml

<?xml version="1.0"?>
<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node1</value>
        <description>ResourceManager设置在node1节点</description>
    </property>

    <property>
        <name>yarn.nodemanager.local-dirs</name>
        <value>/data/nm-local</value>
        <description>NodeManager中间数据本地存储路径</description>
    </property>

    <property>
        <name>yarn.nodemanager.log-dirs</name>
        <value>/data/nm-log</value>
        <description>NodeManager数据日志本地存储路径</description>
    </property>

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
        <description>为MapReduce程序开启Shuffle服务</description>
    </property>

    <property>
        <name>yarn.log.server.url</name>
        <value>http://node1:19888/jobhistory/logs</value>
        <description>历史服务器url</description>
    </property>

    <property>
        <name>yarn.web-proxy.address</name>
        <value>node1:8089</value>
        <description>代理服务器主机和端口</description>
    </property>

    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
        <description>开启日志聚合</description>
    </property>

    <property>
        <name>yarn.nodemanager.remote-app-log-dir</name>
        <value>/tmp/logs</value>
        <description>程序日志HDFS的存储路径</description>
    </property>

    <property>
        <name>yarn.resourcemanager.scheduler.class</name>
        <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
        <description>选择公平调度器</description>
    </property>
</configuration>
Hadoop是一个分布式计算系统,它的核心是由一组配置文件组成的。这些文件包括core-site.xmlhadoop-env.sh、hdfs-site.xmlmapred-site.xmlworkersyarn-site.xml。在下面的文章中,我们将详细介绍每个文件的作用和用途。 1. core-site.xml core-site.xmlHadoop的核心配置文件之一。它包含了关于Hadoop分布式文件系统(HDFS)和MapReduce框架的配置信息。其中最重要的是Hadoop的默认文件系统,这通常是HDFS。此外,该文件还包含了Hadoop所需的一些基本信息,例如Hadoop集群的名称和Hadoop的缓存目录等。在该文件中,可以配置以下参数: fs.defaultFS:指定Hadoop的默认文件系统,通常是HDFShadoop.tmp.dir:指定Hadoop的缓存目录,用来存储临时文件。 io.file.buffer.size:指定文件读写缓冲区的大小。 ipc.client.connect.timeout:指定客户端连接服务器的超时时间。 ipc.client.connection.maxidletime:指定客户端连接最大空闲时间。 2. hadoop-env.sh hadoop-env.sh是Hadoop的环境变量文件。它包含了Hadoop所需的环境变量信息。该文件的作用是设置Hadoop所需的JDK路径、Hadoop的类路径和其他一些环境变量。在该文件中,可以配置以下参数: JAVA_HOME:指定JDK的安装路径。 HADOOP_HOME:指定Hadoop的安装路径。 HADOOP_CONF_DIR:指定Hadoop配置文件所在的目录。 HADOOP_CLASSPATH:指定Hadoop的类路径。 HADOOP_OPTS:指定Hadoop的JVM参数。 3. hdfs-site.xml hdfs-site.xmlHadoop分布式文件系统(HDFS)的配置文件。它包含了与HDFS相关的配置信息,例如HDFS的副本数、块大小和数据节点等。在该文件中,可以配置以下参数: dfs.replication:指定HDFS中每个数据块的副本数。 dfs.blocksize:指定HDFS的块大小。 dfs.namenode.name.dir:指定HDFS名称节点的数据存储目录。 dfs.datanode.data.dir:指定HDFS数据节点的数据存储目录。 dfs.permissions.enabled:指定是否启用HDFS的权限控制。 4. mapred-site.xml mapred-site.xmlHadoop MapReduce框架的配置文件。它包含了与MapReduce相关的配置信息,例如MapReduce任务的最大尝试次数、任务跟踪器和任务调度器等。在该文件中,可以配置以下参数: mapreduce.framework.name:指定MapReduce框架的名称。 mapreduce.jobtracker.address:指定MapReduce任务跟踪器的地址。 mapreduce.tasktracker.http.address:指定MapReduce任务调度器的地址。 mapreduce.map.maxattempts:指定MapReduce任务最大尝试次数。 mapreduce.reduce.maxattempts:指定MapReduce任务最大尝试次数。 5. workers workersHadoop集群的工作节点列表。该文件列出了所有的工作节点,每行一个。这些工作节点将被Hadoop用来执行MapReduce任务。 6. yarn-site.xml yarn-site.xmlHadoop YARN配置文件。它包含了与YARN相关的配置信息,例如YARN资源管理器和节点管理器等。在该文件中,可以配置以下参数: yarn.resourcemanager.hostname:指定YARN资源管理器的主机名。 yarn.nodemanager.aux-services:指定YARN节点管理器的辅助服务。 yarn.nodemanager.aux-services.mapreduce.shuffle.class:指定YARN节点管理器的MapReduce Shuffle服务类。 yarn.nodemanager.local-dirs:指定YARN节点管理器的本地目录。 yarn.nodemanager.log-dirs:指定YARN节点管理器的日志目录。 总结 以上是Hadoop的一些重要配置文件的介绍,包括core-site.xmlhadoop-env.sh、hdfs-site.xmlmapred-site.xmlworkersyarn-site.xml。这些文件包含了Hadoop的核心组件和相关服务的配置信息,对于Hadoop的运行和调试至关重要。熟悉这些文件的内容和参数,对于Hadoop系统管理员和开发人员来说是必不可少的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值