详解Hadoop六个配置文件的作用

本文以apache的hadoop-2.7.5为列,主要讲解Hadoop目录下每个文件的作用
Hadoop目录结构

主要常用的文件夹

文件夹名称作用
binshell脚本
sbinshell脚本,如启动hdfs需要用到
etc/hadoop所有配置文件的路径
lib/native本地的C程序库

六个配置文件的作用 etc/hadoop

配置文件的名称作用
core-site.xml核心配置文件,主要定义了我们文件访问的格式 hdfs://
hadoop-env.sh主要配置我们的java路径
hdfs-site.xml主要定义配置我们的hdfs的相关配置
mapred-site.xml主要定义我们的mapreduce相关的一些配置
slaves控制我们的从节点在哪里 datanode nodemanager在哪些机器上
yarm-site.xml配置我们的resourcemanager资源调度

core-site.xml

主要配置

  1. 文件系统采用hdfs实现
  2. 临时数据存放的位置
  3. 缓冲区大小,实际工作中根据服务器性能动态调整
  4. 开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!-- 定义文件系统的实现,默认是file:///本地文件系统  需要我们改成 hdfs://分布式文件存储系统   -->
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://192.168.238.100:8020</value>
	</property>
	<!-- 临时数据存放的位置 -->
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/export/servers/hadoop-2.7.5/hadoopDatas/tempDatas</value>
	</property>
	<!--  缓冲区大小,实际工作中根据服务器性能动态调整 -->
	<property>
		<name>io.file.buffer.size</name>
		<value>4096</value>
	</property>

	<!--  开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟  10080 相当与7天  60*24*7-->
	<property>
		<name>fs.trash.interval</name>
		<value>10080</value>
	</property>
</configuration>

hdfs-site.xml

主要配置

  1. NameNode与2nn的访问地址
  2. NameNode与DataNode数据的存放路径
  3. FSImage,Edits,Checkpoint的存放位置
  4. 设置文件的副本数,一份文件保存多少份
  5. 设置文件存储的block块大小 128M
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	 <!-- secondaryNameNode的访问地址 -->
	 <property>
			<name>dfs.namenode.secondary.http-address</name>
			<value>node01:50090</value>
	</property>
	<!-- NameNode的访问地址 -->
	<property>
		<name>dfs.namenode.http-address</name>
		<value>node01:50070</value>
	</property>
	<!-- df -lh  查看LINUX下磁盘的挂载路径  -->
	<!--  定义nameNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后有多个目录用,进行分割 如 file:///one,file:///two 
    fsimage的存放位置
     -->
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:///export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas,file:///export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas2</value>
	</property>
	<!--  定义dataNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割  -->
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>file:///export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas,file:///export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas2</value>
	</property>
	<!-- 定义我们的元数据的操作日志的存放位置
		 edits的存放位置
	-->
	<property>
		<name>dfs.namenode.edits.dir</name>
		<value>file:///export/servers/hadoop-2.7.5/hadoopDatas/nn/edits</value>
	</property>
	<!-- 元数据检查点保存的位置 -->
	<property>
		<name>dfs.namenode.checkpoint.dir</name>
		<value>file:///export/servers/hadoop-2.7.5/hadoopDatas/snn/name</value>
	</property>
	<!--
	edits文件的检查点保存位置 
	-->
	<property>
		<name>dfs.namenode.checkpoint.edits.dir</name>
		<value>file:///export/servers/hadoop-2.7.5/hadoopDatas/dfs/snn/edits</value>
	</property>
	<!-- 文件的副本数,一份文件保存多少份 -->
	<property>
		<name>dfs.replication</name>
		<value>3</value>
	</property>
	<!-- hdfs的权限控制 -->
	<property>
		<name>dfs.permissions</name>
		<value>false</value>
	</property>
	<!--  文件存储的block块大小   -->
    <property>
		<name>dfs.blocksize</name>
		<value>134217728</value>
	</property>
</configuration>

额外知识点

查看LINUX下磁盘的挂载路径的命令

df -lh  

如下图:
/dev/sdc1与 /dev/sdb1 分别有1.9T 这就是Linux系统的挂载磁盘,路径分别是 /datadisk 和 /mnt/resource
所以我们在设置NameNode与DataNode的数据存放路径时一定要确认挂载磁盘的路径存放在哪里
在这里插入图片描述

hadoop-env.sh

主要配置java路径

export JAVA_HOME=/export/servers/jdk1.8.0_141

mapred-site.xml

设置mapReduce的相关

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 指定我们mapreduce运行在yarn集群上面 -->
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
	<!-- 开启mapreduce的小任务模式,用于调优 -->
	<property>
		<name>mapreduce.job.ubertask.enable</name>
		<value>true</value>
	</property>
	<!-- 配置mapreduce 的jobhistory   可以查看我们所有运行完成的任务的一些情况 -->
	<property>
		<name>mapreduce.jobhistory.address</name>
		<value>node01:10020</value>
	</property>
	<!-- 配置mapreduce 的jobhistory的访问地址 -->
	<property>
		<name>mapreduce.jobhistory.webapp.address</name>
		<value>node01:19888</value>
	</property>
</configuration>

yarn-site.xml

配置yarn的相关信息

<?xml version="1.0"?>
<configuration>
<!--指定我们的resourceManager运行在哪台机器上面 -->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>node01</value>
	</property>
	<!-- NodeManager的通信方式 -->
	<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>604800</value>
	</property>
</configuration>
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值