【数仓】Hadoop集群配置常用参数说明

Hadoop集群中,需要配置的文件主要包括四个

  1. 配置核心Hadoop参数:

    • 编辑core-site.xml文件,设置Hadoop集群的基本参数,如文件系统、Hadoop临时目录等。
  2. 配置HDFS参数:

    • 编辑hdfs-site.xml文件,设置HDFS的相关参数,如数据块大小、副本数等。
  3. 配置MapReduce参数(如果使用):

    • 编辑mapred-site.xml文件,设置MapReduce的相关参数。
  4. 配置YARN参数(如果使用):

    • 编辑yarn-site.xml文件,设置YARN的相关参数。

核心Hadoop参数 core-site.xml

参考官网

Hadoop的core-site.xml文件包含了许多重要的配置参数,这些参数用于定义Hadoop集群的全局设置。以下是一些常见的core-site.xml配置参数:

配置项 默认值 说明
fs.defaultFS 无 Hadoop集群的NameNode的URI。这是HDFS的入口点。
io.file.buffer.size 4096 SequenceFiles在读写过程中可以使用的缓存大小(以字节为单位)。
hadoop.tmp.dir /tmp/hadoop-${user.name} Hadoop的临时目录,用于存储临时文件和目录。
fs.trash.interval 0 垃圾箱中文件的保留时间(以分钟为单位)。设置为大于0的值将启用垃圾箱功能。
hadoop.proxyuser.${username}.hosts 无 允许代理用户从哪些主机连接到Hadoop集群。
hadoop.proxyuser.${username}.groups 无 允许代理用户属于哪些用户组连接到Hadoop集群。
fs.trash.checkpoint.interval 0 检查垃圾箱并删除过期文件的间隔时间(以分钟为单位)。
fs.automatic.close true 是否在读取文件后自动关闭文件系统。
fs.dummy.impl org.apache.hadoop.fs.DummyFileSystem 一个假的文件系统实现,用于测试。

请注意,上述表格中的默认值可能会因Hadoop版本和特定环境而有所不同。此外,还有许多其他可用的配置参数,具体取决于您的Hadoop集群的需求和配置。

在实际配置中,您应该根据您的Hadoop集群的具体要求和网络环境来设置这些参数。一些关键参数(如fs.defaultFS)在集群设置中是必需的,而其他参数则可以根据需要进行调整。在修改core-site.xml文件之前,请确保您已经充分了解每个参数的含义和潜在影响。

HDFS参数 hdfs-site.xml

参考官网

hdfs-site.xml 是 Hadoop 分布式文件系统(HDFS)的配置文件,它包含了许多参数,用于定义 HDFS 的行为和特性。以下是一些常见的 hdfs-site.xml 配置参数:

配置项 默认值 说明
dfs.namenode.name.dir file://${hadoop.tmp.dir}/dfs/name NameNode 存储其持久化元数据的本地文件系统路径。
dfs.datanode.data.dir file://${hadoop.tmp.dir}/dfs/data DataNode 存储其块的本地文件系统路径。
dfs.replication 3 数据的默认副本数。
dfs.permissions.enabled true 是否启用 HDFS 权限检查。
dfs.block.size 134217728 (128 MB) HDFS 块的大小。
dfs.namenode.handler.count 10 NameNode 服务器可以同时处理的客户端请求数。
dfs.datanode.handler.count 10 DataNode 服务器可以同时处理的客户端请求数。
dfs.client.read.shortcircuit false 允许 DFS 客户端绕过 DataNode 直接读取本地文件。
dfs.client.read.shortcircuit.skip.checksum false 在短路读取时跳过校验和检查。
dfs.https.address 0.0.0.0:50470 NameNode HTTPS 服务的地址和端口。
dfs.http.address 0.0.0.0:50070 NameNode HTTP 服务的地址和端口。
dfs.datanode.http.address 0.0.0.0:50075 DataNode HTTP 服务的地址和端口。
dfs.datanode.ipc.address 0.0.0.0:50020 DataNode IPC 服务的地址和端口。
dfs.namenode.http-address 0.0.0.0:50070 NameNode HTTP 服务的地址和端口(用于 Web UI)。
dfs.namenode.secondary.http-address 0.0.0.0:50090 Secondary NameNode HTTP 服务的地址和端口。

请注意,这些默认值可能会因 Hadoop 的版本和特定环境而有所不同。此外,还有许多其他可用的配置参数,具体取决于您的 HDFS 集群的需求和配置。

在实际配置中,您应该根据您的 HDFS 集群的具体要求和网络环境来设置这些参数。一些关键参数(如 dfs.namenode.name.dir 和 dfs.datanode.data.dir)在集群设置中是必需的,而其他参数则可以根据需要进行调整。在修改 hdfs-site.xml 文件之前,请确保您已经充分了解每个参数的含义和潜在影响。

此外,请注意 hdfs-site.xml 文件通常还包含一些高级参数,用于调优 HDFS 的性能和可靠性,例如设置 NameNode 和 DataNode 的堆大小、调整各种超时设置等。这些参数的具体设置应该基于您的集群规模和工作负载进行调整。

MapReduce参数 mapred-site.xml

参考官网

mapred-site.xml 是 Hadoop MapReduce 的配置文件,它包含了许多参数,用于定义 MapReduce 作业的行为和特性。以下是一些常见的 mapred-site.xml 配置参:

配置项 默认值 说明
mapreduce.framework.name local 执行框架设置为本地模式(单机模式),在集群上应设置为 yarn。
mapreduce.jobhistory.address 0.0.0.0:10020 MapReduce JobHistory Server 的地址和端口。
mapreduce.jobhistory.webapp.address 0.0.0.0:19888 MapReduce JobHistory Server 的 Web UI 地址和端口。
mapreduce.jobtracker.address local MapReduce JobTracker 的地址和端口(旧版 API,YARN 中不再使用)。
mapreduce.tasktracker.address 0.0.0.0:50060 MapReduce TaskTracker 的地址和端口(旧版 API,YARN 中不再使用)。
mapreduce.map.output.compress false 是否压缩 Map 任务的输出。
mapreduce.map.output.compress.codec org.apache.hadoop.io.compress.DefaultCodec Map 任务输出压缩使用的编解码器。
mapreduce.task.io.sort.mb 100 排序时使用的内存缓冲区大小(以 MB 为单位)。
mapreduce.task.io.sort.factor 10 合并小文件时一次合并的流的数量。
mapreduce.reduce.shuffle.parallelcopies 5 从 Map 到 Reduce 拷贝数据的并行度。
mapreduce.reduce.shuffle.fetch.retry.enabled true 是否启用 shuffle 阶段获取数据的重试机制。
mapreduce.reduce.shuffle.retry-delay.ms 1000 shuffle 阶段重试之间的延迟时间(以毫秒为单位)。
mapreduce.reduce.shuffle.input.buffer.percent 0.7 shuffle 阶段用于存储数据的内存比例。
mapreduce.job.reduces 1 每个作业的默认 Reduce 任务数。
mapreduce.job.maps 无默认值 每个作业的 Map 任务数(通常由 AM 根据数据自动计算)。
mapreduce.map.speculative true 是否启用 Map 任务的推测执行。
mapreduce.reduce.speculative true 是否启用 Reduce 任务的推测执行。

请注意,这些默认值可能会因 Hadoop 的版本和特定环境而有所不同。此外,还有许多其他可用的配置参数,具体取决于您的 MapReduce 作业的需求和配置。

在实际配置中,您应该根据您的 MapReduce 作业的具体要求和网络环境来设置这些参数。一些关键参数(如 mapreduce.framework.name)在集群设置中是必需的,以指定执行框架,而其他参数则可以根据需要进行调整。在修改 mapred-site.xml 文件之前,请确保您已经充分了解每个参数的含义和潜在影响。

另外,值得注意的是,随着 Hadoop 的发展,MapReduce 已经被 YARN 和其他框架(如 Spark、Flink)所取代,因此在新版本的 Hadoop 中,mapred-site.xml 文件可能不再存在,或者其重要性已经降低。在使用新版本的 Hadoop 时,请确保查看相关文档以了解最新的配置方法和最佳实践。

YARN参数 yarn-site.xml

参考官网

yarn-site.xml 是 Apache Hadoop YARN 的配置文件,它包含了许多参数,用于定义 YARN 集群的行为和特性。以下是一些常见的 yarn-site.xml 配置参数:

配置项 默认值 说明
yarn.resourcemanager.hostname 无 ResourceManager 的主机名。
yarn.resourcemanager.scheduler.address ${yarn.resourcemanager.hostname}:8030 ResourceManager 调度器服务的地址和端口。
yarn.resourcemanager.resource-tracker.address ${yarn.resourcemanager.hostname}:8031 ResourceManager 资源追踪服务的地址和端口。
yarn.resourcemanager.address ${yarn.resourcemanager.hostname}:8032 ResourceManager RPC 服务的地址和端口。
yarn.resourcemanager.webapp.address ${yarn.resourcemanager.hostname}:8088 ResourceManager Web UI 的地址和端口。
yarn.resourcemanager.admin.address ${yarn.resourcemanager.hostname}:8033 ResourceManager 管理服务的地址和端口。
yarn.scheduler.minimum-allocation-mb 1024 单个容器可申请的最小内存(以 MB 为单位)。
yarn.scheduler.maximum-allocation-mb 8192 单个容器可申请的最大内存(以 MB 为单位)。
yarn.nodemanager.resource.memory-mb 8192 NodeManager 可用的总物理内存(以 MB 为单位)。
yarn.scheduler.minimum-allocation-vcores 1 单个容器可申请的最小虚拟 CPU 个数。
yarn.scheduler.maximum-allocation-vcores 32 单个容器可申请的最大虚拟 CPU 个数。
yarn.nodemanager.vmem-pmem-ratio 2.1 虚拟内存与物理内存的比例。
yarn.nodemanager.local-dirs ${hadoop.tmp.dir}/nm-local-dir NodeManager 存储本地化资源的目录列表。
yarn.nodemanager.log-dirs ${yarn.log.dir}/userlogs NodeManager 存储容器日志的目录列表。
yarn.nodemanager.aux-services mapreduce_shuffle NodeManager 提供的辅助服务列表。
yarn.nodemanager.remote-app-log-dir /tmp/logs 存储应用程序日志的远程目录(通常用于日志聚合)。
yarn.nodemanager.recovery.enabled false 是否启用 NodeManager 恢复功能。
yarn.nodemanager.recovery.dir 无 用于存储 NodeManager 恢复数据的目录。

请注意,这些默认值可能会因 Hadoop 的版本和特定环境而有所不同。此外,还有许多其他可用的配置参数,具体取决于您的 YARN 集群的需求和配置。在实际配置中,您应该根据您的 YARN 集群的具体要求和网络环境来设置这些参数。在修改 yarn-site.xml 文件之前,请确保您已经充分了解每个参数的含义和潜在影响。

参考

相关推荐
茶海棠36 分钟前
Hadoop+zookeeper+HBase+Kafka集群搭建全流程
hadoop·zookeeper·kafka·hbase
也非非也1 小时前
iPhone 中国区 AI 落地:Apple 与阿里千问合作的技术观察
大数据·人工智能·ios·agent·iphone·智子
CC数分1 小时前
统计学基础|先把问题问对:数据分析的六大类型
大数据·人工智能·算法
Elastic 中国社区官方博客1 小时前
基于 Elasticsearch 与 Jina AI 的全模态智能搜索实践:技术全解析
大数据·人工智能·elasticsearch·搜索引擎·ai·信息可视化·jina
RPAdaren1 小时前
财务机器人要怎么选?落地财务机器人时的常见问题有哪些?
大数据·人工智能·数据挖掘
众智鸿图2 小时前
XR驱动管网数据智能体检!众智鸿图精彩亮相2026燃气运营与安全研讨会
大数据·安全·xr
字节跳动数据平台2 小时前
火山引擎知识引擎 VeKnow|从企业本体到行动边界:Agent 能找到规则,为什么还是会判错?
大数据
财迅通Ai2 小时前
MLCC业务爆发式增长,带动昀冢科技三季度扭亏为盈
大数据·人工智能·科技·昀冢科技
PaperAccept2 小时前
【研知有术论文发表】材料科学一区期刊,影响因子30+的纳米科技SCI,审稿严格但有效率
大数据·数据结构·科技·量子计算
海棠Flower未眠3 小时前
下单请求处理流程:商品维度分布式锁与 Redis 预扣库存
redis·分布式·junit