Hadoop 的配置文件说明

Hadoop 的配置文件是整个集群管理的核心,它决定了 HDFS(Hadoop Distributed FileSystem)和 YARN(Yet Another Resource Negotiator)的行为及其如何与其他组件进行交互。常用的配置文件包括 core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml 和 capacity-scheduler.xml 等。这些文件通常位于 $HADOOP_HOME/etc/hadoop/ 目录下。

以下是这些常用配置文件的说明以及一些常见配置项的中文注释。

1. core-site.xml

该文件包含 Hadoop 核心配置,主要用于设置与 HDFS 和 Hadoop 集群的其他服务进行交互的参数。
常见配置项:

<configuration>
    <!-- Hadoop核心配置 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://namenode_host:8020</value>
        <description>指定 HDFS 的文件系统 URI。用于客户端访问 HDFS,所有的路径前缀都以此为基准。</description>
    </property>

    <property>
        <name>hadoop.tmp.dir</name>
        <value>/tmp/hadoop-${user.name}</value>
        <description>Hadoop 临时目录,用于存储临时数据、日志等。</description>
    </property>

    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
        <description>设置 HDFS 文件 I/O 缓冲区的大小(字节)。默认值是 131072 字节(128KB)。</description>
    </property>
</configuration>

fs.defaultFS:指定默认的文件系统 URI,通常为 hdfs://<namenode_host>:8020。
hadoop.tmp.dir:指定 Hadoop 临时文件存储目录。
io.file.buffer.size:设置文件 I/O 缓冲区的大小,增加该值可以提高数据处理速度。

2. hdfs-site.xml

该文件包含 HDFS(Hadoop Distributed FileSystem)的配置项,涉及文件系统的行为、数据存储、复制等参数。
常见配置项:

<configuration>
    <!-- HDFS 配置 -->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
        <description>指定 HDFS 文件的默认副本数。默认值是 3</description>
    </property>

    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/tmp/hadoop/dfs/name</value>
        <description>HDFS NameNode 的数据存储路径。必须是本地文件路径。</description>
    </property>

    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/tmp/hadoop/dfs/data</value>
        <description>HDFS DataNode 的数据存储路径。也必须是本地文件路径。</description>
    </property>

    <property>
        <name>dfs.block.size</name>
        <value>134217728</value>
        <description>设置 HDFS 文件块大小,默认 128MB。调整此值有助于控制文件块大小。</description>
    </property>

    <property>
        <name>dfs.namenode.secondary.http.address</name>
        <value>localhost:50090</value>
        <description>指定 NameNode Secondary 的 HTTP 地址,允许管理员访问 NameNode 状态。</description>
    </property>
</configuration>

dfs.replication:设置文件在 HDFS 中的副本数。增加副本数提高容错性,但会占用更多的存储空间。
dfs.namenode.name.dir:指定 NameNode 的元数据存储路径。
dfs.datanode.data.dir:指定 DataNode 存储数据块的目录。
dfs.block.size:设置 HDFS 文件块的大小,默认为 128MB。增大块大小有助于提升大文件的处理性能。

3. yarn-site.xml

该文件包含 YARN(Yet Another Resource Negotiator)配置,主要用于集群资源管理、调度、应用程序提交等相关设置。
常见配置项:

<configuration>
    <!-- YARN 配置 -->
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>resourcemanager_host:8032</value>
        <description>指定 ResourceManager 的地址,客户端通过此地址提交作业。</description>
    </property>

    <property>
        <name>yarn.resourcemanager.scheduler.class</name>
        <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
        <description>设置 YARN 使用的调度器类型,常见的有 CapacityScheduler、FairScheduler。</description>
    </property>

    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>8192</value>
        <description>每个 NodeManager 上可用的最大内存(单位:MB)。如果超出限制,YARN 不会调度新任务。</description>
    </property>

    <property>
        <name>yarn.nodemanager.local-dirs</name>
        <value>/tmp/hadoop/yarn/local</value>
        <description>YARN NodeManager 本地存储目录,用于存储临时数据。</description>
    </property>
</configuration>

yarn.resourcemanager.address:设置 ResourceManager 的地址,客户端通过此地址提交作业。
yarn.resourcemanager.scheduler.class:指定 YARN 使用的调度器类型(如 CapacityScheduler 或 FairScheduler)。
yarn.nodemanager.resource.memory-mb:指定 NodeManager 分配的内存资源总量。
yarn.nodemanager.local-dirs:指定 NodeManager 本地磁盘存储路径。

4. mapred-site.xml

该文件用于配置 MapReduce 相关的设置,尤其是 MapReduce 任务的执行、调度和资源管理。
常见配置项:

<configuration>
    <!-- MapReduce 配置 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
        <description>指定 MapReduce 运行框架为 YARN。可以选择 "local"(本地模式)、"yarn"(集群模式)等。</description>
    </property>

    <property>
        <name>mapreduce.jobtracker.address</name>
        <value>jobtracker_host:8021</value>
        <description>设置 JobTracker 的地址(在 YARN 模式下不再使用,但对于某些旧版本的 Hadoop 仍然需要配置)。</description>
    </property>

    <property>
        <name>mapreduce.map.memory.mb</name>
        <value>2048</value>
        <description>为 Map 任务分配的内存大小,单位为 MB。</description>
    </property>

    <property>
        <name>mapreduce.reduce.memory.mb</name>
        <value>4096</value>
        <description>为 Reduce 任务分配的内存大小,单位为 MB。</description>
    </property>
</configuration>

mapreduce.framework.name:指定 MapReduce 的执行框架,通常为 yarn,表示运行在 YARN 集群上。
mapreduce.map.memory.mb:指定 Map 任务所使用的内存大小。
mapreduce.reduce.memory.mb:指定 Reduce 任务所使用的内存大小。

5. capacity-scheduler.xml

此文件用于配置 YARN 的容量调度器,尤其是在多租户环境下,调整集群资源分配策略。
常见配置项:

<configuration>
    <!-- YARN 容量调度器配置 -->
    <property>
        <name>yarn.scheduler.capacity.root.default.capacity</name>
        <value>50</value>
        <description>设置默认队列的资源容量百分比。</description>
    </property>

    <property>
        <name>yarn.scheduler.capacity.root.default.maximum-capacity</name>
        <value>80</value>
        <description>设置默认队列的最大资源容量百分比。</description>
    </property>

    <property>
        <name>yarn.scheduler.capacity.root.default.state</name>
        <value>RUNNING</value>
        <description>设置默认队列的状态。可以是 RUNNING、STOPPED 等。</description>
    </property>
</configuration>

yarn.scheduler.capacity.root.default.capacity:指定默认队列的资源容量百分比。
yarn.scheduler.capacity.root.default.maximum-capacity:设置队列的最大资源容量百分比。
yarn.scheduler.capacity.root.default.state:设置队列的状态,常见值为 RUNNING 或 STOPPED。

总结

这些配置文件涵盖了 Hadoop 集群中不同组件的行为和资源管理。通过合理配置这些参数,可以优化 Hadoop 集群的性能,保证资源的高效利用和作业的稳定运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值