当前位置: 首页 > 工具软件 > IUWM-Site > 使用案例 >

Hadoop hadoop配置文件yarn-site.xml、mapred-site.xml、hdfs-site.xml 、core-site.xml、hadoop-env.cmd详解

司马飞
2023-12-01

前言:
配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-site.xml三个配置文件。
上网找的配置可能因为各个hadoop版本不同,导致无法生效,这里需要经验积累。
参数繁多,不用过多纠结每个参数的含义,先照搬配置文件,
用多几次,总会出现bug,需要反复调整的参数就是常用参数。

±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±

正文开始:

yarn-site.xml文件参数配置
配置 ResourceManager,NodeManager 的通信端口,web 监控端口等信息。

<?xml version="1.0"?>
<configuration>

<!--nomenodeManager获取数据的方式是shuffle-->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
	<description>NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序</description>
  </property>

<!--指定Yarn的核心角色(ResourceManager)的地址-->   
	<property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>1500</value>
		<description>NM总的可用物理内存,以MB为单位。一旦设置,不可动态修改</description>
    </property>
	<property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>1024</value>
		<description>可申请的最大内存资源</description>
    </property>
	<property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>64</value>
		<description>可申请的最少内存资源</description>
    </property>
	<property>
         <name>yarn.nodemanager.vmem-check-enabled</name>
         <value>false</value>
         <description>由于我的测试机内存少,所以就关闭虚拟内存检测s</description>
    </property>
    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>1</value>
		<description>可使用的最大cpu个数,不受核心数量限制。</description>
    </property> 
</configuration>

mapred-site.xml文件参数配置
注意,该文件不存在,需要将mapred-site.xml.template改名得到。
配置中指示其使用 Yarn 框架执行 map-reduce 处理程序,详细如下

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>    
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
		<description>告诉hadoop以后MR运行在YARN上</description>
    </property>	
	<property>
        <name>yarn.app.mapreduce.am.resource.mb</name>
        <value>512</value>
		<description>MapReduce作业的缺省配置</description>		
    </property>
	 <property>
        <name>mapreduce.map.memory.mb</name>
        <value>256</value>
		<description>每个Map Task需要的内存量</description>		
    </property>
	<property>
        <name>mapreduce.reduce.memory.mb</name>
        <value>512</value>
		<description>每个Map Task需要的内存量</description>		
    </property>
</configuration>

hdfs-site.xml文件参数配置
注意在 hdfs-site.xml 中配置 nameNode,dataNode 的本地目录信息,
以及分片备份详细如下需要根据下面的配置文件的目录结构在hadoop\data\dfs下
建立2个文件夹,datanode和namenode,
创建hadoop的namedate,datanode,temp,文件目录。

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <!--指定hdfs保存数据的副本数量-->
  <property>
    <name>dfs.replication</name>
    <value>1</value>
    <description>副本个数,配置默认是3,应小于datanode机器数量</description>
  </property>

  <property>
    <name>dfs.name.dir</name>
    <value>/C:/Hadoop2.7.4/workplace/name</value>
    <description>namenode上存储hdfs名字空间元数据 </description>
  </property>

  <property>
    <name>dfs.data.dir</name>
    <value>/C:/Hadoop2.7.4/workplace/data</value>
    <description>datanode上数据块的物理存储位置</description>
  </property>
</configuration>

core-site.xml文件参数配置

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <!--指定namenode的地址-->
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:8010</value>
    <description>HDFS的URI,文件系统://namenode标识:端口号</description>
  </property>
  <!--用来指定使用hadoop时产生文件的存放目录-->
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/C:/Hadoop2.7.4/workplace/tmp</value>
    <description>namenode上本地的hadoop临时文件夹</description>
   </property>
</configuration>

hadoop-env.cmd文件参数配置

 设置java环境变量,推荐使用
	set JAVA_HOME=C:\Progra~1\Java\jdk1.8.0_xx
    不推荐用法,
	set JAVA_HOME=%JAVA_HOME%

±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
总结:

yarn-site.xml
mapred-site.xml
hdfs-site.xml
core-site.xml
hadoop-env.cmd

这5个文件配置繁多,这里只挑重点的讲,感兴趣的同学可以搜一下相关的博文。
有些比较细的配置在初学阶段过早研究,效果可能不太好,初学者应该先有个整体把握。
理论+实践,遇到感兴趣的点可以过一轮后回过来研究,这样效果往往比较好。

 类似资料: