前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hadoop 配置文件详解

Hadoop 配置文件详解

作者头像
Lokinli
发布2023-03-09 14:55:53
3760
发布2023-03-09 14:55:53
举报
文章被收录于专栏:以终为始以终为始

Hadoop 的主要配置文件及描述:

配置文件

功能描述

hadoop-env.sh

配置 Hadoop 运行所需的环境变量

yarn-env.sh

配置 YARN 运行所需的环境变量

core-site.xml

Hadoop 核心全局配置文件,可在其他配置文件中引用该文件

hdfs-site.xml

HDFS 配置文件,继承 core-site.xml 配置文件

mapred-site.xml

MapReduce 配置文件,继承 core-site.xml 配置文件

yarn-site.xml

YARN 配置文件,继承 core-site.xml 配置文件

Hadoop 的配置存放在其安装目录下的 /etc 下。

配置文件的内容是伪分布式配置文件。

https://hadoop.apache.org/docs/current/

core-site.xml: namenode 的地址和临时目录等

代码语言:javascript
复制
<configuration>
	<!-- 定义我们文件系统的实现,默认是file:/// 本地文件系统  一定要改掉 hdfs://表示我们的分布式文件存储系统 -->
<property>
		<name>fs.default.name</name>
        <!--指定 namenode 地址-->
		<value>hdfs://192.168.52.100:8020</value>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
        <!--指定 Hadoop 的临时目录-->
		<value>/export/servers/hadoop-2.7.5/hadoopDatas/tempDatas</value>
	</property>
	<!--  缓冲区大小,实际工作中根据服务器性能动态调整 -->
	<property>
		<name>io.file.buffer.size</name>
		<value>4096</value>
	</property>

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

hdfs-site.xml:  hdfs 的 web 访问界面

代码语言:javascript
复制
<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>
	<!-- 主要用于存放我们的元数据信息的地址,注意这种写法,实际工作当中一定要先确认你的linux的磁盘挂载在哪个路径下面
	/datadisk
		/mnt/resource
		file:///datadisk,file:///mnt/resource
		存储我们的元数据信息,一定要事先确定我们的磁盘在哪里  df  -lh
		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>

<property>
		<name>dfs.blocksize</name>
		<value>134217728</value>
	</property>
</configuration>

hadoop-evn.sh:Java 环境

代码语言:javascript
复制
export JAVA_HOME=/export/servers/jdk1.8.0_141

mapred-site.xml:yarn 的 web 地址 和 history 的 web 地址以及指定我们的 mapreduce 运行在 yarn 集群上

代码语言:javascript
复制
<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>

	<property>
		<name>mapreduce.jobhistory.webapp.address</name>
		<value>node01:19888</value>
	</property>
</configuration>

yarn-site.xml:指定 resourceManager 的运行的机器

代码语言:javascript
复制
<configuration>
<!--指定我们的resourceManager运行在哪台机器上面 -->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>node01</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>604800</value>
	</property>
</configuration>

mapred-env.sh:Java 环境

代码语言:javascript
复制
export JAVA_HOME=/export/servers/jdk1.8.0_141

当然还涉及到其他的文件比如 slaves 等文件。

当我们正常启动 Hadoop 集群后,其中启动 hdfs 后可以 jps 到 NameNode ,DataNode 和 Secondary NameNode ,启动 yarn 后会 jps 到 ResourceManager 和 NodeManager 。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档