Hadoop-HDFS-core-site.xml,hdfs-site.xml,yarn-site.xml,krb5.conf 都是做什么的?

hdfs的core-site.xml

core-site.xml是Hadoop集群的核心配置文件,包含了 Hadoop 全局级别的配置设置。这些设置不仅影响 HDFS(Hadoop Distributed File System),还影响 YARN 和 MapReduce 等其他组件。:

常见配置
  • fs.default.name:指定HDFS的NameNode的URI,包括协议、主机名和端口号。这是集群中每一台机器都需要知道的NameNode地址,DataNode和独立的客户端程序都通过这个URI与NameNode交互。
  • hadoop.tmp.dir:Hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配置NameNode和DataNode的存放位置,默认就放在这个路径下。
  • io.file.buffer.size:指定文件读写时使用的缓冲区大小。
  • fs.trash.interval:清理回收站的间隔,单位为分钟,默认为0,表示hdfs里删除的文件不会进入回收站,而是直接删除,可以按需修改
代码示例
xml 复制代码
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131702</value>
    </property>
    <property>
        <name>fs.trash.interval</name>
        <value>1440</value>
    </property>
</configuration>

hdfs-site.xml

hdfs-site.xml 是 HDFS 的特定配置文件,包含了与 HDFS 相关的配置设置。这些设置主要用于调整 HDFS 的行为和性能。

常见配置
  • dfs.replication:决定HDFS中文件块的数据备份个数。对于一个实际的应用,通常设为3,以保证数据的可靠性。少于三个的备份可能会影响到数据的可靠性(系统故障时,可能会造成数据丢失)。
  • dfs.name.dir:NameNode存储Hadoop文件信息的本地系统路径。这个值只对NameNode有效,DataNode并不需要使用它。
  • dfs.data.dir:DataNode在本地磁盘存放block的位置,可以是以逗号分隔的目录列表。DataNode循环向磁盘中写入数据,每个DataNode可单独指定与其它DataNode不一样的存储路径。
  • dfs.namenode.http-address:指定 NameNode 的 HTTP 地址。
  • dfs.permissions.enabled:启用或禁用 HDFS 的权限检查。
  • dfs.namenode.handler.count:NameNode用来处理来自DataNode的RPC请求的线程数量。建议设置为DataNode数量的10%,一般在10~200个之间。
  • dfs.datanode.handler.count:DataNode用来连接NameNode的RPC请求的线程数量,取决于系统的繁忙程度。设置太小会导致性能下降甚至报错。
  • dfs.datanode.max.xcievers:DataNode可以同时处理的数据传输连接数。默认值通常是256,但根据集群的规模和需求,可能需要调整这个值。
代码示例
xml 复制代码
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/hdfs/data</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:9001</value>
    </property>
</configuration>

yarn-site.xml

yarn-site.xml是YARN的配置文件,它包含了YARN的各种配置信息,如ResourceManager的地址、NodeManager的资源配置、日志级别、任务调度器等。关键配置包括:

常见配置
  • yarn.resourcemanager.hostname:指定 ResourceManager 的主机名。
  • yarn.nodemanager.aux-services:指定YARN节点管理器所使用的辅助服务。
  • yarn.log-aggregation-enable:设置为true时,YARN将启用日志聚合功能。这意味着,运行完成的Container或任务的日志将被上传到HDFS(Hadoop分布式文件系统)上,而不是保存在各个NodeManager的本地磁盘上。这一功能有助于减轻NodeManager的负载,并提供一个中央化的存储和分析机制,使得用户可以更方便地查看和管理日志。
  • yarn.log-aggregation.retain-seconds: 用于指定这些聚合后的日志在HDFS上保存的时间,单位为秒。超过这个时间后,系统将自动删除这些日志,以节省存储空间。
  • yarn.resourcemanager.address:ResourceManager暴露给Client的地址,Client可以利用这个地址向ResourceManager提交应用程序,也可以用来杀死某个应用程序等。
  • yarn.resourcemanager.scheduler.address:ResourceManager暴露给ApplicationMaster的访问地址,ApplicationMaster可以通过该地址从ResourceManager处申请和释放资源。
  • yarn.resourcemanager.resource-tracker.address:ResourceManager暴露给NodeManager的地址,NodeManager可以通过该地址向ResourceManager发送心跳,也可以拉取到待执行的任务。
  • yarn.nodemanager.resource.memory-mb:NodeManager的可用物理内存总量。这个参数一旦被设置,在YARN的整个运行过程中不允许被动态修改。
  • yarn.nodemanager.vmem-pmem-ratio:用于设置一个比例,即每使用1MB的物理内存最多可以用多大的虚拟内存。
  • yarn.nodemanager.resource.cpu-vcores:NodeManager的可用虚拟CPU总数。
代码示例
xml 复制代码
<configuration>
<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>640800</value>
    </property>

</configuration>

krb5.conf

krb5.conf文件包含Kerberos的配置信息,它是Kerberos认证和授权机制的核心配置文件。关键配置包括:

常见配置
  • libdefaults:Kerberos V5库使用的设置,如加密类型、校验和类型、凭据缓存类型等。
  • realms:特定域的联系信息和设置,如KDC(Key Distribution Centers)的位置、域的管理员服务器位置等。
  • domain_realm:将服务器主机名映射到Kerberos域,用于确定一个主机名属于哪个Kerberos域。
  • capaths:非层次跨域认证路径的配置,用于指定不同Kerberos域之间的认证路径。

总结

  • core-site.xml:包含 Hadoop 的全局配置设置。
  • hdfs-site.xml:包含 HDFS 特定的配置设置。
  • yarn-site.xml:包含 YARN 资源管理和调度相关的配置设置。
  • krb5.conf:包含 Kerberos 客户端的配置设置,用于安全认证。

这些配置文件共同构成了Hadoop集群和Kerberos认证机制的完整配置体系,它们之间的协同工作确保了Hadoop集群的高效、稳定和安全运行。

相关推荐
Lsetea15 分钟前
curl指定CA目录仍报证书不受信任:--capath与OpenSSL rehash排查
运维·https·ssl·openssl·curl
优化Henry1 小时前
LTE 载波频率与频点配置详解
运维·网络·学习·5g·信息与通信
代码方舟2 小时前
数据科学风控实战:基于天远全能消金报告构建自动化信用评估网关
运维·人工智能·自动化
科力锐品牌君2 小时前
应用级灾备 | 海量非结构化数据如何实现高效数据保护
linux·运维·网络·安全·系统安全·数据安全·灾备
KaiwuDB2 小时前
KaiwuDB 运维实战04:DRBD + KaiwuDB——物联网场景下的低成本数据库高可用方案
运维·数据库·物联网·时序数据库·kaiwudb·aiot·多模数据库
福建佰胜张工3 小时前
A5E00839230西门子工业核心配件详解:参数、安装调试与故障运维全攻略
运维·网络·安全·自动化
Lancker3 小时前
chnroute-linux — 中国大陆 IP 段每日自动更新 + 「仅允许国内访问」落地
linux·运维·tcp/ip
天远Date Lab3 小时前
零信任架构实战:基于天远全能消金报告(标准版)构建自动化骑手资信评估网关
运维·人工智能·架构·自动化
赛博守夜人3 小时前
反舞弊系列之二十一:数据驱动型反舞弊体系搭建,如何利用ERP与财务数据构建“异常交易自动化风控看板”?
运维·自动化
天衍四九-4 小时前
Docker容器实战系列(八):Docker生产最佳实践与避坑指南,系列终章
运维·docker·容器