hadoop完全分布式环境搭建详细版
创始人
2024-03-17 02:09:16
0

1. hadoop集群规划

1.准备3台客户机(关闭防火墙,静态ip,主机名称)

2.安装jdk

3.配置环境变量

4.安装hadoop,hadoop版本是3.1.3,包名为hadoop-3.1.3.tar.gz

5.配置环境变量

6.配置集群

7.单点启动

8.配置ssh

9.群起集群并测试集群

注意: NameNode和SecondaryNameNode和ResourceManage三者很消耗内存,不要安装在同一台服务器上

image-20221118133413157

2. hadoop具体安装步骤

2.0 端口号说明

namenode端口号说明

namenode版本号端口号
1.x8020
2.x9000
3.0.x9020
3.1.x8020

namenode web端口号说明

namenode web端口号版本号端口号
1.x 2.x50070
3.x9870

secondarynamenode web端口号说明

secondarynamenode web端口号版本号端口号
1.x 2.x50090
3.x9868

2.1 上传

2.2 解压

2.3 修改hadoop相关配置文件

有core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-site.xml,works

(1)core-site.xml修改的内容有:

①NameNode的内部连接地址;

②hadoop数据存储的目录,默认是linux临时目录,到日期会被清除掉;

③配置hdfs登录的静态用户moxi,(好处是当使用的是moxi用户启动的hadoop,有权限进行删除);

④配置moxi为代理用户(因为在使用hive的时候,每一个用户都会创建一个hiveserver2,这个客户端非常占用空间,就想着所有用户用同一个hiveserver2,提交作业,如果不配置不可以,配置了就能用。


fs.defaultFShdfs://hadoop102:8020
hadoop.tmp.dir/opt/module/hadoop-3.1.3/datahadoop.http.staticuser.usermoxihadoop.proxyuser.atguigu.hosts*
hadoop.proxyuser.moxi.groups*
hadoop.proxyuser.moxi.users*

(2)hdfs-site.xml修改的内容有:

①配置nn web端访问的地址,配置为hadoop102:9870

②配置2nn web端访问地址,配置为hadoop104:9868

③配置hdfs副本的数量,一般指定为3个,测试集群一般是1个



dfs.namenode.http-addresshadoop102:9870dfs.namenode.secondary.http-addresshadoop104:9868dfs.replication3

(3)yarn-site.xml修改的内容有:

①指定MR走shuffle

②指定ResourceManager的地址:在hadoop103

③环境变量的继承

④yarn单个容器允许分配的最大最小内存,(默认是8G,需要修改,限定为和服务器一样大),这个参数每个机器单独设置,(内存为8,4,4和6,3,3需要修改,最大内存和服务器分配的最大内存一样,否则,内存超出会崩)

⑤yarn容器允许管理的物理内存大小,这个参数每个机器单独设置

⑥关闭yarn对虚拟内存的限制,物理内存不能关闭。(默认都是true,检测nodemanager和其它组件内存使用情况,超过内存大小就阻止它使用,把他干掉,很危险,需要关闭;虚拟内存,就是把超出内存的空间运行在磁盘上)


yarn.nodemanager.aux-servicesmapreduce_shuffleyarn.resourcemanager.hostnamehadoop103yarn.nodemanager.env-whitelistJAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOMEyarn.scheduler.minimum-allocation-mb512yarn.scheduler.maximum-allocation-mb4096yarn.nodemanager.resource.memory-mb4096yarn.nodemanager.pmem-check-enabledtrueyarn.nodemanager.vmem-check-enabledfalse

(4)mapred-site.xml修改的内容有:

①指定mapreduce程序在yarn上运行


mapreduce.framework.nameyarn

(5)配置集群works:

在1.x和2.x名字叫slaves,不叫works。

把默认的localhost删掉,注意:填写下面的hadoop102,hadoop103,hadoop104,需要提前做好主机名和ip地址的映射;下面的文件不能有空格例如在hadoop102后面不能有空格;也不能有空行,在hadoop104下面不能有空行

hadoop102
hadoop103
hadoop104

2.4 配置历史服务器

为什么要配置历史服务器?

任务在运行过程中,会记录运行过程的日志,不配置,运行结束了就结束了。

在hadoop-3.1.3/etc/hadoop/mapred-site.xml文件下配置


mapreduce.jobhistory.addresshadoop102:10020

mapreduce.jobhistory.webapp.addresshadoop102:19888

2.5 配置日志聚集功能

作用:不配置,查看日志需要在各自台上查询各自的,这是很麻烦的一件事,如果配置过之后,就可以在一台设备上,查看所有设备的日志,这是很方便的

在 yarn-site.xml上配置。


yarn.log-aggregation-enabletrue

  yarn.log.server.url  http://hadoop102:19888/jobhistory/logs

yarn.log-aggregation.retain-seconds604800

2.6 分发hadoop到其它集群

[moxi@hadoop102 hadoop-3.1.3]$ xsync /opt/module/hadoop-3.1.3/

2.7 配置hadoop环境变量

[moxi@hadoop102 hadoop-3.1.3]$ sudo vim /etc/profile.d/my_env.sh

添加如下内容:

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

2.8 分发环境变量

注意:在root下,需要把分发指令路径写完整。

[moxi@hadoop102 hadoop-3.1.3]$ sudo /home/moxi/bin/xsync /etc/profile.d/my_env.sh

2.9 source 是之生效

[moxi@hadoop102 module]$ source /etc/profile.d/my_env.sh
[moxi@hadoop103 module]$ source /etc/profile.d/my_env.sh
[moxi@hadoop104 module]$ source /etc/profile.d/my_env.sh

2.10 第一次启动需要格式化namenode

如果集群是第一次启动,需要在hadoop102节点格式化NameNode(注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据)

[moxi@hadoop102 hadoop-3.1.3]$ bin/hdfs namenode -format

2.11 单节点启动集群

(1)启动HDFS

[moxi@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh

(2)在配置了ResourceManager的节点(一定要在hadoop103上启动,因为在103上配置的)启动YARN

[moxi@hadoop103 hadoop-3.1.3]$ sbin/start-yarn.sh

2.12 在web端查看页面

①Web端查看HDFS的Web页面:http://hadoop102:9870/

②Web端查看yarn的web页面:http://hadoop103:8088/

2.13 hadoop群起集群配置

在一台设备上启动所有进程。

进入目录/home/moxi/bin

编辑文件vim hdp.sh

#!/bin/bash
if [ $# -lt 1 ]
thenecho "No Args Input..."exit ;
fi
case $1 in
"start")echo " =================== 启动 hadoop集群 ==================="echo " --------------- 启动 hdfs ---------------"ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"echo " --------------- 启动 yarn ---------------"ssh hadoop103 "/opt/module/hadoop/sbin/start-yarn.sh"echo " --------------- 启动 historyserver ---------------"ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")echo " =================== 关闭 hadoop集群 ==================="echo " --------------- 关闭 historyserver ---------------"ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"echo " --------------- 关闭 yarn ---------------"ssh hadoop103 "/opt/module/hadoop/sbin/stop-yarn.sh"echo " --------------- 关闭 hdfs ---------------"ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)echo "Input Args Error..."
;;
esac

给权限

chmod 777 hdp.sh

使用指南:

hdp.sh start

安装包链接:

链接:https://pan.baidu.com/s/1NUBmKLx6K71H95OZwOweag?pwd=kpv1
提取码:kpv1

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...