文章目录

  • 系列文章目录
  • 前言
  • 配置四个核心配置文件
  • core-site.xml
  • hdfs-site.xml
  • mapred-site.xml
  • yarn-site.xml
  • 配置masters文件
  • 配置slaves文件
  • 文件配置
  • 总结



前言

在 CentOS7 系统快速配置Hadoop,仅需配置主节点,配置完成后将Hadoop文件及jdk文件发送给从节点,即可完成分布式集群部署,本节主要介绍Hadoop文件配置


配置四个核心配置文件

配置 {hadoop_home}(Hadoop所在位置)/etc/hadoop 的四个配置文件,以下的s201为主节点主机名

core-site.xml

参数

属性值

描述

fs.defaultFS

NameNode URL

服务器IP地址,也可以使用主机名

io.file.buffer.size

131072

该属性值单位为KB,131072KB即为默认的64M。SequenceFiles文件中.读写缓存size设定

hadoop.tmp.dir

文件路径

用来指定使用hadoop时产生文件的存放目录

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://s201:9000</value>
	</property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/hadoop/tmp</value>
    </property>
</configuration>

hdfs-site.xml

参数

属性值

描述

dfs.replication

dfs.namenode.name.dir

在本地文件系统所在的NameNode的存储空间和持续化处理日志

命名空间和事务在本地文件系统永久存储的路径

dfs.namenode.data.dir

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>    
	<property>
		<name>dfs.replication</name>
		<value>3</value>	<!-- 节点数量、分片数量、配置的备份方式 -->
	</property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/hadoop/dfs/name</value>
    </property>
    <property>
        <name>dfs.namenode.data.dir</name>
        <value>file:/usr/hadoop/dfs/data</value>
    </property>
</configuration>

mapred-site.xml

注意:文件夹中一开始并没有mapred-site.xml这个文件,只有mapred-site.xml.template,因此需要先复制一份将副本改名为mapred-site.xml,cp mapred-site.xml.template mapred-site.xml

参数

属性值

描述

mapreduce.framework.name

yarn

执行框架设置为 Hadoop YARN

mapreduce.jobhistory.address

mapreduce.jobhistory.webapp.address

<?xml version="1.0"?>
<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>s201:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>s201:19888</value>
    </property>
</configuration>

yarn-site.xml

参数

属性值

描述

yarn.resourcemanager.hostname

RM的hostname

yarn.resourcemanager.address

客户端对ResourceManager主机通过 host:port 提交作业

RM对客户端暴露的地址,客户端通过该地址向RM提交应用程序等

yarn.resourcemanager.scheduler.address

ApplicationMasters 通过ResourceManager主机访问host:port跟踪调度程序获资源

RM对AM暴露的地址,AM通过地址想RM申请资源,释放资源等

yarn.resourcemanager.resource-tracker.address

NodeManagers通过ResourceManager主机访问host:port

RM对NM暴露地址,NM通过该地址向RM汇报心跳,领取任务等

yarn.resourcemanager.admin.address

管理命令通过ResourceManager主机访问host:port

管理员可以通过该地址向RM发送管理命令等

yarn.resourcemanager.webapp.address

ResourceManager web页面host:port

RM对外暴露的web http地址,用户可通过该地址在浏览器中查看集群信息

yarn.nodemanager.aux-services.mapreduce.shuffle.class

<?xml version="1.0"?>
<configuration>
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>s201</value>
	</property>
	<property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>s201:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>s201:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>s201:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>s201:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>s201:8088</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
</configuration>

配置masters文件

masters文件设置的是运行secondary namenode的结点,并且可以在masters里面设置多个结点来运行secondary namenode。

vi masters
# 没有 masters 文件就新建 mkdir masters
# 加入主节点的主机名/IP地址(只能选一种,并与slaves文件保持一致)
s201 / 192.168.142.201

配置slaves文件

slaves文件指明哪些节点运行DataNode进程。

vi slaves
  # 删除localhost,加入以下内容,DataNode节点的名称/IP地址(只能选一种,并与masters文件保持一致)
  s202 / 192.168.142.202
  s203 / 192.168.142.203
  s204 / 192.168.142.204

文件配置

  1. 编辑 {hadoop_home}(Hadoop所在位置)/etc/hadoop/hadoop-env.sh
# 添加
export JAVA_HOME=/home/jdk1.8.0_65(jdk位置)
  1. 新建目录
mkdir /usr/hadoop/tmp	-p
# 注意:hdfs-site.xml 设置存放文件的name和data文件夹不要自己建,并且在启动前 hadoop namenode -format格式化
mkdir /usr/hadoop/dfs/name -p 	# mkdir -p: 递归创建目录,即使上级目录不存在,会按目录层级自动创建目录
mkdir /usr/hadoop/dfs/data -p
  1. 修改 /usr/hadoop 目录的权限 (针对使用hadoop用户,root用户跳过)
chown -R hadoop:hadoop /usr/hadoop/		# chown = change ownerp 用于设置文件所有者和文件关联组的命令
  1. 分发配置,将文件同步其他节点
cd /home/hadoop-2.7.3/etc/
# 分发至其他主机
scp -r hadoop [用户名]@[主机名]:/{hadoop_home}/hadoop/etc
# 例如:
scp -r hadoop root@s202:/soft/hadoop/etc/
scp -r hadoop root@s203:/soft/hadoop/etc/
scp -r hadoop root@s204:/soft/hadoop/etc/

scp -r /usr/hadoop/ root@s202:/usr/
scp -r /usr/hadoop/ root@s203:/usr/
scp -r /usr/hadoop/ root@s204:/usr/
  1. 格式化文件系统 (注意:仅namenode主节点执行,datanode从节点不执行)
hadoop namenode -format
  1. 启动Hadoop进程
start-all.sh
  1. 停止Hadoop进程
stop-all.sh
  1. 查看Java进程
jps
  1. 集群启动后的集群报告
hdfs dfsadmin -report
  1. 使用浏览器浏览Master节点机
输入 http://{master Ip地址}:50070

总结

以上就是今天要讲的内容,本文仅仅简单介绍了Hadoop的文件配置和在Linux上的安装启动,完成本文的操作后即完成了对Hadoop的安装和配置。