1、虚拟机装好CentOS 7系统,一共三个系统,分别命名为:node1、node2、node3 2、每个系统都卸载系统自带的openjdk 3、安装jdk1.8,并配置环境变量 4、设置IP 5、修改主机名 6、配置hosts文件 7、关闭防火墙 8、禁用selinux 9、设置SSH免密码登陆 10、最后设置完要重启系统
安装环境准备
https://blog.csdn.net/GeekDongHuang/article/details/122068325?spm=1001.2014.3001.5501
Hadoop集群上有HDFS集群和YARN集群 HDFS集群有三个守护进程: 1、NameNode 2、SecondaryNameNode 3、DataNode YARN集群有两个守护进程: 1、ResourceManager 2、NodeManager2.2、HDFS集群规划
1、node1 1、NameNode 2、DataNode 2、node2 1、SecondaryNameNode 2、DataNode 3、node3 1、DataNode2.3、YARN集群规划
1、node1 1、ResourceManager 2、NodeManager 2、node2 1、NodeManager 3、node3 1、NodeManager3、集群安装 3.1、下载安装包
1、Hadoop3.3.1 下载地址: https://dlcdn.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz 2、JDK1.8 下载地址: https://www.oracle.com/java/technologies/downloads/3.2、设置安装目录
1、压缩包存放目录
/export/software
2、解压包存放目录
/export/server
# NameNode数据 mkdir -p /export/server/hadoop-3.3.1/data/namenode # DataNode数据 mkdir -p /export/server/hadoop-3.3.1/data/datanode3.4、配置环境变量 3.5、编辑配置文件 3.5.1 配置NameNode(core-site.xml)
在第19行下添加以下内容:3.5.2 配置HDFS路径(hdfs-site.xml)fs.defaultFS hdfs://node1.itcast.cn:9820 配置NameNode的URL
在第20行下添加以下内容:3.5.3 配置YARN(yarn-site.xml)dfs.namenode.name.dir /export/server/hadoop-3.3.1/data/namenode NameNode存储名称空间和事务日志的本地文件系统上的路径 dfs.datanode.data.dir /export/server/hadoop-3.3.1/data/datanode DataNode存储名称空间和事务日志的本地文件系统上的路径
在第18行下添加以下内容:3.5.4 配置MapReduce(mapred-site.xml)yarn.nodemanager.aux-services mapreduce_shuffle yarn.scheduler.minimum-allocation-mb 512 为每个容器请求分配的最小内存限制资源管理器(512M) yarn.scheduler.maximum-allocation-mb 4096 为每个容器请求分配的最大内存限制资源管理器(4G) yarn.nodemanager.vmem-pmem-ratio 4 虚拟内存比例,默认为2.1,此处设置为4倍
在第20行下添加以下内容:3.5.5 workers文件mapreduce.framework.name yarn 执行MapReduce的方式:yarn/local yarn.app.mapreduce.am.env HADOOP_MAPRED_HOME=${HADOOP_HOME} mapreduce.map.env HADOOP_MAPRED_HOME=${HADOOP_HOME} mapreduce.reduce.env HADOOP_MAPRED_HOME=${HADOOP_HOME}
vim /export/server/hadoop-3.3.1/etc/hadoop/workers # 删除第一行localhost,然后添加以下三行 node1.itcast.cn node2.itcast.cn node3.itcast.cn3.5.6 修改hadoop.env环境变量
hadoop.env文件 vim /export/server/hadoop-3.1.4/etc/hadoop/hadoop-env.sh 修改第54行为: export JAVA_HOME=/export/server/jdk1.83.5.7 配置环境变量
vim /etc/profile
export HADOOP_HOME=/export/server/hadoop-3.3.1
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:
source /etc/profile
3.5.8 分发配置好的Hadoop安装文件和环境变量
cd /export/server/ #复制文件夹到相应路径下的当前目录 scp -r hadoop-3.3.1 node2.itcast.cn:$PWD scp -r hadoop-3.3.1 node3.itcast.cn:$PWD #复制文件到相应路径 scp /etc/profile node2.itcast.cn:/etc scp /etc/profile node3.itcast.cn:/etc 在每个节点上执行 source /etc/profile3.5.9 格式化HDFS
首次启动HDFS时,必须对其进行格式化操作。本质上是一些清理和准备工作,因为此时的HDFS在物理上还是不存在的
cd /export/server/hadoop-3.3.1 bin/hdfs namenode -format itcast-hadoop3.5.10 启动Hadoop集群
要启动Hadoop集群,需要启动HDFS和YARN两个集群。
3.5.11 启动HDFS集群选择node1.itcast.cn节点启动NameNode节点 hdfs --daemon start namenode 在所有节点上启动DataNode hdfs --daemon start datanode 启动Secondary NameNode hdfs --daemon start secondarynamenode3.5.12 启动YARN集群
选择node1.itcast.cn节点启动ResourceManager节点 yarn --daemon start resourcemanager 在所有节点上启动NodeManager yarn --daemon start nodemanager
注意:如果在启动之后,有些服务没有启动成功,则需要查看启动日志,Hadoop的启动日志在每台主机的/export/server/hadoop-x.x.x/logs/目录,需要根据哪台主机的哪个服务启动情况去对应的主机上查看相应的日志,以下是node1主机的日志目录.
3.6 关闭Hadoop集群 3.6.1 关闭HDFS集群# 关闭NameNode hdfs --daemon stop namenode # 每个节点关闭DataNode hdfs --daemon stop datanode # 关闭Secondary NameNode hdfs --daemon stop secondarynamenode3.6.2 关闭YARN集群
# 每个节点关闭ResourceManager yarn --daemon stop resourcemanager # 每个节点关闭NodeManager yarn --daemon stop nodemanager4 修改配置配置启动用户 4.1 HDFS集群一键脚本
cd /export/server/hadoop-3.3.1/sbin 编辑start-dfs.sh、stop-dfs.sh 在两个文件顶部添加以下内容: HDFS_DATANODE_USER=root HDFS_DATANODE_SECURE_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root4.2 YARN集群一键脚本
start-yarn.sh、stop-yarn.sh 在两个文件顶部添加以下内容: YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root4.3 一键启动
-- 一键启动HDFS、YARN start-dfs.sh start-yarn.sh4.4 一键关闭
stop-dfs.sh stop-yarn.sh
为了方便在windows上访问Hadoop,我们可以配置一个域名映射,就是以后我们只需要输入node1.itcast.cn,就会自动映射为对应的ip地址。
5 配置windows域名映射1.以管理员身份打开C:WindowsSystem32driversetc目录下的hosts文件
2.在文件最后添加以下映射域名和ip映射关系
虚拟机内node1的IPv4地址 node1.itcast.cn node1
虚拟机内node2的IPv4地址 node2.itcast.cn node2
虚拟机内node3的IPv4地址 node3.itcast.cn node3
3.保存退出
4.测试映射是否生效
ping node1.itcast.cn
ping node2.itcast.cn
ping node3.itcast.cn
NameNode: http://node1.itcast.cn:9870 YARN: http://node1.itcast.cn:8088



