Hadoop运行环境搭建 | 集群配置


一、Hadoop目录文件结构

查看hadoop的目录结构:

[wzq@hadoop102 hadoop-3.1.3]$ ll
总用量 176
drwxr-xr-x. 2 wzq wzq    183 9月  12 2019 bin
drwxr-xr-x. 3 wzq wzq     20 9月  12 2019 etc
drwxr-xr-x. 2 wzq wzq    106 9月  12 2019 include
drwxr-xr-x. 3 wzq wzq     20 9月  12 2019 lib
drwxr-xr-x. 4 wzq wzq    288 9月  12 2019 libexec
-rw-rw-r--. 1 wzq wzq 147145 9月   4 2019 LICENSE.txt
-rw-rw-r--. 1 wzq wzq  21867 9月   4 2019 NOTICE.txt
-rw-rw-r--. 1 wzq wzq   1366 9月   4 2019 README.txt
drwxr-xr-x. 3 wzq wzq   4096 9月  12 2019 sbin
drwxr-xr-x. 4 wzq wzq     31 9月  12 2019 share

重要目录:

  • bin目录:存放对Hadoop相关服务(hdfs,yarn,mapred)进行操作的脚本
  • ect目录Hadoop的配置文件目录,存放Hadoop的配置文件
  • lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
  • sbin目录:存放启动或停止Hadoop相关服务的脚本
  • share目录:存放Hadoop的依赖jar包、文档、和官方案例

二、Hadoop的运行模式

Hadoop的运行模式包括:本地模式、伪分布式以及完全分布式

  • 本地模式:单机运行,只是用来演示一下官方案例。 生产环境不用
  • 伪分布式模式:也是单机运行,但是具备Hadoop集群的所有功能,一台服务器模拟一个分布式的环境, 个别缺钱的公司用来测试,生产环境不用
  • 完全分布式模式:多台服务器组成分布式环境, 生产环境不用

本人学习阶段全部使用伪分布式模式


三、集群配置规划

在这里插入图片描述
需要注意的是:

  • NameNodeSecondaryNameNode不安装在同一个虚拟机
  • ResourceManager很消耗内存,不和NameNodeSecondaryNameNode配置在同一台虚拟机

四、配置文件说明

只要用户想修改某一默认配置文件中的配置,才需要修改自定义配置文件,更改相应属性值

1、默认配置文件

默认文件 文件存放在Hadoop的jar包中的位置
core-default.xml hadoop-common-3.1.3,jar/core-default.xml
hdfs-default.xml hadoop-hdfs-3.1.3,jar/hdfs-default.xml
yarn-default.xml hadoop-yarn-common-3.1.3,jar/yarn-default.xml
mapred-default.xml hadoop-mapred-client=core-3.1.3,jar/mapred-default.xml

2、用户自定义配置文件

core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml均存放在$HADOOP_HOME/etc/hadoop这个路径上,用户可以根据项目需求重新进行修改配置

五、配置集群

进入到$HADOOP_HOME/etc/hadoop
在这里插入图片描述

1、核心配置文件 core-site.xml

vim core-site.xml;

将以下代码插入到<configuration></configuration>标签中

<!-- 指定 NameNode 的地址 -->
<property>
	<name>fs.defaultFS</name>
	<value>hdfs://hadoop102:8020</value>
</property>
<!-- 指定 hadoop 数据的存储目录 -->
<property>
	<name>hadoop.tmp.dir</name>
	<value>/opt/module/hadoop-3.1.3/data</value>
</property>

2、HDFS配置文件 hdfs-site.xml

vim hdfs-site.xml

将以下代码插入到<configuration></configuration>标签中

<!-- nn web 端访问地址-->
<property>
	<name>dfs.namenode.http-address</name>
	<value>hadoop102:9870</value>
</property>
<!-- 2nn web 端访问地址-->
<property>
	<name>dfs.namenode.secondary.http-address</name>
	<value>hadoop104:9868</value>
</property>

3、YARN配置文件 yarn-site.xml

vim yarn-site.xml

将以下代码插入到<configuration></configuration>标签中:

<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>22528</value>
    <discription>每个节点可用内存,单位MB</discription>
</property>

<property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>1500</value>
    <discription>单个任务可申请最少内存,默认1024MB</discription>
</property>

<property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>16384</value>
    <discription>单个任务可申请最大内存,默认8192MB</discription>
</property>

<!-- Site specific YARN configuration properties -->
<!-- 指定 MR 走 shuffle -->
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>
<!-- 指定 ResourceManager 的地址-->
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>hadoop103</value>
</property>
<!-- 环境变量的继承 -->
<property>
	<name>yarn.nodemanager.env-whitelist</name>

	<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO
	NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAP
	RED_HOME</value>
</property>

4、MapReduce配置文件 mapred-site.xml

vim mapred-site.xml

将以下代码插入到<configuration></configuration>标签中:

<!-- 指定 MapReduce 程序运行在 Yarn 上 -->
<property>
     <name>mapreduce.map.memory.mb</name>
     <value>1500</value>
     <description>每个Map任务的物理内存限制</description>
 </property>

 <property>
     <name>mapreduce.reduce.memory.mb</name>
     <value>3000</value>
     <description>每个Reduce任务的物理内存限制</description>
 </property>

 <property>
     <name>mapreduce.map.java.opts</name>
     <value>-Xmx1200m</value>
 </property>

 <property>
     <name>mapreduce.reduce.java.opts</name>
     <value>-Xmx2600m</value>
 </property>
<!-- 指定 MapReduce 程序运行在 Yarn 上 -->
<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>
<property>
    <name>yarn.app.mapreduce.am.env</name>
    <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
</property>
<property>
    <name>mapreduce.map.env</name>
    <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
</property>
<property>
    <name>mapreduce.reduce.env</name>
    <value>HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3</value>
</property>

5、集群分发配置文件

xsync /opt/module/hadoop-3.1.3/etc/hadoop/

效果如下:
在这里插入图片描述
然后去另外两台机器验证有没有分发成功

猜你喜欢

转载自blog.csdn.net/lesileqin/article/details/115402954