当前位置: 代码网 > it编程>编程语言>Asp.net > 【Hadoop】集群配置之主要配置文件(hadoop-env.sh、yarn-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml...)

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

2024年08月02日 Asp.net 我要评论
Hadoop主要配置文件:| **配置文件** | **功能描述** || hadoop-env.sh | 配置Hadoop运行所需的环境变量 || yarn-env.sh | 配置Yarn运行所需的环境变量

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.xmlhadoop核心全局配置文件,可在其他配置文件中引用该文件
hdfs-site.xmlhdfs配置文件,继承core-site.xml配置文件
mapred-site.xmlmapreduce配置文件,继承core-site.xml配置文件
yarn-site.xmlyarn配置文件,继承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>
    <!-- 用于设置hadoop的默认文件系统,由uri指定 -->
	<property>
        <name>fs.defaultfs</name>
        <value>hdfs://hadoop1:9000</value>
    </property>
	<!-- 配置hadoop的临时目录,默认/tmp/hadoop-${user.name} -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/app/hadoop/hadoop-2.6.4/tmp</value>
    </property>
    <!-- 指定哪些主机可以充当代理用户 hduser。在这里,设置为 * 表示任何主机 -->
    <property>
        <name>hadoop.proxyuser.hduser.hosts</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.hduser.groups</name>
        <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>
    <!-- 指定secondary namenode的http地址和端口 -->
	<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop1:9000</value>
    </property>
	<!-- 指定namenode名称空间的存储地址 -->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/app/hadoop/hadoop-2.6.4/name</value>
    </property>
    <!-- 指定datanode数据存储地址 -->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/app/hadoop/hadoop-2.6.4/data</value>
    </property>
    <!--指定数据冗余份数-->
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <!--指定可以通过web访问hdfs目录-->
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </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-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.shufflehandler</value>
    </property>
    <!-- 客户端提交作业的端口 -->
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>hadoop1:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>hadoop1:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>hadoop1:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>hadoop1:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>hadoop1:8088</value>
    </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>
	<!-- 指定mapreduce运行时框架,这里指定在yarn上,默认是local -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
     </property>
    <!-- 配置jobhistory server -->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop1:10020</value>
     </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop1:19888</value>
     </property>
</configuration>

slaves

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

hadoop1
hadoop2
hadoop3
(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com