【一篇搞定配置】如何在Ubuntu上安装配置Hadoop集群
🌈 个人主页:十二月的猫-CSDN博客
🔥 系列专栏: 🏀各种软件安装与配置_十二月的猫的博客-CSDN博客💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光
关注本专栏并在专栏中任何一篇文章下发表评论,即可获得【PyCharm、Clion、DataGrip、DataSpell、IDEA、Goland、Rider、PhpStorm等软件的破解版】。
目录
1. 前言
2. 背景知识
3. 集群Hadoop配置
3.1 安装虚拟机
3.2 网络配置
3.2.1 修改主机名
3.2.2 获取两台机器的ip
3.2.3 添加ip和主机名的映射关系
3.3 SSH无密码登录节点
3.4 配置PATH变量
3.5 配置集群/分布式环境(只在Master结点中)
3.5.1 修改文件workers(匹配Slave和Master)
3.5.2 修改文件core-site.xml
1. fs.defaultFS
2. hadoop.tmp.dir
3. 标签
3.5.3 修改文件hdfs-site.xml
3.5.4 修改文件mapred-site.xml
3.5.5 修改文件 yarn-site.xml
3.5.6 查看运行结果
3.5.7 特别提醒
3.6 执行分布式实例
4. 总结
1. 前言
通过前一篇文章:
【一篇搞定配置】如何在Ubuntu上配置单机/伪分布式Hadoop_ubuntu安装hadoop详细教程-CSDN博客我们已经在Ubuntu上面完成单机/伪分布式Hadoop的安装配置🥰
接下来,在这篇文章中,猫猫将带大家完成真正意义上的Hadoop配置。
⚠️注意!!
不是运行本地文件的单机Hadoop。
也不是使用HDFS与MapReduce但实质只有一个机器的伪分布Hadoop。
让我们走入Hadoop的世界🌼
2. 背景知识
当Hadoop采用分布式模式部署和运行时,存储采用分布式文件系统HDFS,而且,HDFS的名称节点和数据节点位于不同机器上。这时,数据就可以分布到多个节点上,不同数据节点上的数据计算可以并行执行,这时的MapReduce分布式计算能力才能真正发挥作用。
Hadoop作用:
1、分布式存储。
2、分布式计算。
核心思想:
1、将数据存储在不同物理机器上,释放了一台机器的庞大内存压力。
2、数据存储在不同物理机器上,就可以使用不同机器的计算资源进行计算,结果再整合到一个结点上即可。
3、只有数据分布到多个节点上(HDFS的名称节点和数据节点位于不同机器上),不同数据节点上的数据计算并行执行,MapReduce分布式计算能力才能真正发挥作用。
为了降低分布式模式部署难度,本教程简单使用两个节点(两台物理机器)来搭建集群环境,一台机器作为 Master节点,主机名为hadoop01,另一台机器作为 Slave 节点,主机名为hadoop02。由三个以上节点构成的集群,也可以采用类似的方法完成安装部署。
1. Master 节点:
Master 节点负责集群的控制、管理和协调。它是集群的“大脑”,主要任务是管理任务的调度、分配资源和维护集群的整体运行状态。
在 Hadoop 集群中的 Master 节点通常包括以下角色:
NameNode(HDFS):NameNode 是 HDFS 的 Master 节点,负责管理文件系统的元数据,如文件的名称、目录结构、块的位置等。它维护一个内存中的文件系统映射,确定文件如何被分割成块,以及这些块分布在哪些 DataNode(Slave 节点)上。
ResourceManager(YARN):ResourceManager 是 YARN 中的 Master 节点,负责资源管理。它监控集群的资源使用情况(如 CPU、内存)并向客户端应用程序提供资源分配。ResourceManager 协调所有的应用程序的执行,并且确保系统资源的合理分配。
JobHistoryServer(MapReduce):JobHistoryServer 负责存储 MapReduce 作业的历史记录,包括作业的运行状态、日志和结果。它有助于用户查看和调试之前的作业。
Master 节点的作用:
- 管理文件系统:NameNode 负责管理 HDFS 上的文件,确定数据存储的位置,并负责数据块的复制策略。
- 资源管理和调度:ResourceManager 负责调度任务,合理分配集群中的资源给各个计算任务。
- 协调作业执行:在 MapReduce 中,Master 节点负责协调任务的执行,分配任务给适当的计算资源。
2. Slave 节点:
Slave 节点是 Hadoop 集群中的工作节点,负责存储数据和执行计算任务。与 Master 节点配合工作,处理具体的数据存储和计算。
在 Hadoop 集群中的 Slave 节点通常包括以下角色:
DataNode(HDFS):DataNode 是 HDFS 中的 Slave 节点,负责实际的数据存储。它存储着文件的数据块,并定期将其状态报告给 NameNode,确保数据的健康和备份。DataNode 还负责数据块的读取和写入操作。
NodeManager(YARN):NodeManager 是 YARN 中的 Slave 节点,负责集群中每个节点的资源监控和任务执行。它接收 ResourceManager 的指令,管理本地资源,启动容器并执行分配的任务。NodeManager 也会定期向 ResourceManager 汇报节点的资源使用情况。
Worker 节点(MapReduce):在 MapReduce 中,Slave 节点负责执行任务的实际计算。每个 Slave 节点上运行着 TaskTracker(对于旧版 Hadoop),或在 YARN 中运行容器来执行 Mapper 和 Reducer 任务。
Slave 节点的作用:
- 数据存储:DataNode 负责存储 HDFS 上的数据,确保数据分布在不同的物理机器上,并定期向 NameNode 汇报其状态。
- 任务执行:NodeManager 负责管理计算任务的执行,确保各个任务能够在节点上顺利运行。
- 计算资源的提供:Slave 节点通过提供计算资源(如 CPU、内存)支持任务的执行,执行计算任务并将结果返回给 ResourceManager 或客户端。
总结:
- Master 节点 负责 Hadoop 集群的整体管理和调度,主要包括 NameNode(HDFS)、ResourceManager(YARN)和 JobHistoryServer 等功能。
- Slave 节点 是实际存储数据和执行计算任务的节点,主要包括 DataNode(HDFS)和 NodeManager(YARN)等功能。
Hadoop 集群的安装配置大致包括以下步骤:
步骤1:选定一台机器作为 Master;
步骤2:在Master节点上创建hadoop用户、安装SSH服务端、安装Java环境;
步骤3:在Master节点上安装Hadoop,并完成配置;
步骤4:在其他Slave节点上创建hadoop用户、安装SSH服务端、安装Java环境;
步骤5:将Master节点上的“/usr/local/hadoop”目录复制到其他Slave节点上;
步骤6:在Master节点上开启Hadoop;
上述这些步骤中,关于如何创建hadoop用户、安装SSH服务端、安装Java环境、安装Hadoop等过程,已经在前面介绍伪分布式安装的时候做了详细介绍,请按照之前介绍的方法完成步骤1到步骤4,这里不再赘述。在完成步骤1到步骤4的操作以后,才可以继续进行下面的操作。
😎看到这里,如果你思考的仔细,我想你会有这样的疑问:
不同的物理机器是如何完成通信的?也就是说Master是如何管理所有Slave结点的?
😌不要着急,下面我们就来解答
3. 集群Hadoop配置
3.1 安装虚拟机
请参照教程【一篇搞定配置】在VirtualBox内安装运行Unbuntu-CSDN博客安装好2个Linux虚拟机,主机名分别是hadoop01和hadoop02。由于hadoop02是Slave节点,不需要安装很多的软件,所以,配置可以比hadoop01低一,比如,对于hadoop02而言,内存只需要配置4GB,磁盘只需要配置20GB。
安装好虚拟机hadoop02以后,首先创建hadoop用户,然后使用hadoop用户登录Linux系统,安装SSH服务端,并安装Java环境。
在VirtualBox上将有两个虚拟机:hadoop、hadoop02
3.2 网络配置
这一部分的作用就是让两台虚拟机能够互相进行网络访问
由于集群中有两台机器需要设置,所以,在接下来的操作中,一定要注意区分Master节点和Slave节点。为了便于区分Master节点和Slave节点,可以修改各个节点的主机名,这样,在Linux系统中打开一个终端以后,在终端窗口的标题和命令行中都可以看到主机名,就比较容易区分当前是对哪台机器进行操作。在Ubuntu中,我们在 Master 节点(hadoop01)上执行如下命令修改主机名
打开终端, 如果是按照我的文章【一篇搞定配置】在VirtualBox内安装运行Unbuntu-CSDN博客,进行配置,显示内容将如下:
主机名:csh-VirtualBox
用户名:hadoop
3.2.1 修改主机名
sudo vim /etc/hostname
执行上面命令后,就打开了“/etc/hostname”这个文件,这个文件里面记录了主机名.因此,打开这个文件以后,里面就只有(主机名字)这一行内容,可以直接删除,并修改为“hadoop01”(注意是区分大小写的),然后,保存退出vim编辑器,这样就完成了主机名的修改,需要重启Linux系统才能看到主机名的变化。
修改主机名并且重启Linux系统之后,用hadoop登录Linux系统,打开终端,进入Shell命令提示符状态,会显示如下内容:
hadoop@ hadoop01:~$
主机名(hostname):主机名是用来标识计算机或设备的名称,通常在网络中用来区分不同的计算机。它是一个系统级别的标识符,表示你计算机的网络名称。例如,在网络中访问你的计算机时,其他设备会使用主机名来识别你的机器。
用户名(username):用户名是用于标识系统中用户的名称,它是操作系统中创建的每个用户的唯一标识符。用户名用于登录系统,获取个人的权限和文件访问权限。
可以看出,这时就很容易辨认出当前是处于Master节点(hadoop01)上进行操作,不会和Slave节点(hadoop02)产生混淆。同理,请按照相同的方法,把虚拟机hadoop02中的主机名修改为“hadoop02”,并重启Linux系统。
3.2.2 获取两台机器的ip
然后,使用ifconfig命令获取每台虚拟机的IP地址,具体命令如下:
ifconfig
下图给出ifconfig命令的执行效果,从中可以看到,hadoop01的IP地址是192.168.91.128(你的机器的IP地址可能和这个不同)。同理,可以查询到hadoop02的IP地址是192.168.91.129(你的机器的IP地址可能和这个不同)。
(可能不能运行这个指令,如下图,则按照要求下载插件:)
利用ifconfig确定两台机器的ip地址:
得到两台机器的ip地址如下(你的两台机器可能不同):
要求虚拟机都要有自己的ip,因此虚拟机的网络建议为桥接网络
192.168.91.128 hadoop01
192.168.91.129 hadoop02
3.2.3 添加ip和主机名的映射关系
这个步骤是在linux内部建立一张表格,用来查询主机名和Ip地址。
在hadoop01中,执行如下命令打开并修改Master节点中的“/etc/hosts”文件:
sudo vim /etc/hosts
将上文的ip地址和主机名映射写入,如图:
需要注意的是:
一般hosts文件中只能有一个127.0.0.1,其对应主机名为localhost,如果有多余127.0.0.1映射,应删除,特别是不能存在“127.0.0.1 hadoop01”这样的映射记录。修改后需要重启Linux系统。
上面完成了Master节点(hadoop01)的配置,接下来要继续完成对其他Slave节点的配置修改。本教程只有一个Slave节点,主机名为hadoop02。请参照上面的方法,把Slave节点上的“/etc/hostname”文件中的主机名修改为“hadoop02”,同时,修改“/etc/hosts”的内容,在hosts文件中增加如下两条IP和主机名映射关系:
192.168.91.128 hadoop01
192.168.91.129 hadoop02
修改完成以后,请重新启动Slave节点的Linux系统。
这样就完成了Master节点和Slave节点的配置,然后,需要在各个节点上都执行如下命令,测试是否相互ping得通,如果ping不通,后面就无法顺利配置成功:
ping hadoop01 -c 3 # 只ping 3次就会停止,否则要按Ctrl+c中断ping命令
ping hadoop02 -c 3
例如,在Master节点上ping Slave1,如果ping通的话,会显示下图所示:
到这里,两台虚拟机(Master和Slave)就可以互相进行网络通信!!!✌🏁
3.3 SSH无密码登录节点
这一部分作用:让Master虚拟机远程登录(完成后续控制)Slave虚拟机
完整流程如下:
- 客户端(Master结点)生成密钥对(公钥和私钥)。
- 客户端将公钥复制到服务器(Slave结点)的
~/.ssh/authorized_keys
文件中。- Master结点发起 SSH 连接请求,Slave结点根据Master结点的公钥验证身份。
- 如果身份验证成功,建立连接,不需要密码。
首先需要在hadoop02上执行如下命令安装SSH服务端(如果此前已经安装就不用重复安装):
sudo apt-get install openssh-server
然后,生成Master节点(hadoop01)的公匙,如果之前已经生成过公钥(在3.3.3节安装伪分布式模式的Hadoop时生成过一次公钥),必须要删除原来生成的公钥,重新生成一次,因为前面我们对主机名进行了修改。在Master节点执行如下命令:
cd ~/.ssh # 如果没有该目录,先执行一次ssh localhost
rm ./id_rsa* # 删除之前生成的公匙(如果已经存在)
ssh-keygen -t rsa # 执行该命令后,遇到提示信息,一直按回车就可以
为了让Master节点能够无密码SSH登录本机,需要在Master节点上执行如下命令:
cat ./id_rsa.pub >> ./authorized_keys
完成后可以执行命令“ssh hadoop01”来验证一下,可能会遇到提示信息,只要输入yes即可,测试成功后,请执行“exit”命令返回原来的终端。
接下来,在Master节点(hadoop01)将上公匙传输到Slave节点(hadoop02):
scp ~/.ssh/id_rsa.pub hadoop@hadoop02:/home/hadoop/
上面的命令中,scp是secure copy的简写,用于在 Linux下进行远程拷贝文件,类似于cp命令,不过,cp只能在本机中拷贝。执行scp时会要求输入hadoop02上hadoop用户的密码,输入完成后会提示传输完毕,如图3-15所示。传输完成以后,在hadoop02上的“/home/hadoop”目录下就可以看到文件id_rsa.pub了。
id_rsa.pub:内部放着Master生成的公钥
接着在Slave节点(hadoop02)上执行如下命令将Master生成的SSH公匙加入授权:
mkdir ~/.ssh # 如果不存在该文件夹需先创建,若已存在,则忽略本命令
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub # 用完以后就可以删掉
如果有其他Slave节点,也要执行将Master公匙传输到Slave节点以及在Slave节点上加入授权这两步操作。这样,在Master节点上就可以无密码SSH登录到各个Slave节点了,可在Master节点(hadoop01)上执行如下命令进行检验:
ssh hadoop02
完整流程如下:
- 客户端(Master结点)生成密钥对(公钥和私钥)。
- 客户端将公钥复制到服务器(Slave结点)的
~/.ssh/authorized_keys
文件中。- Master结点发起 SSH 连接请求,Slave结点根据Master结点的公钥验证身份。
- 如果身份验证成功,建立连接,不需要密码。
3.4 配置PATH变量
在前面的伪分布式安装内容中,已经介绍过PATH变量的配置方法。可以按照同样的方法进行配置,这样就可以在任意目录中直接使用hadoop、hdfs等命令了。如果还没有配置PATH变量,那么需要在Master节点上进行配置。 首先执行命令“vim ~/.bashrc”,也就是使用vim编辑器打开“~/.bashrc”文件,然后,在该文件最上面的位置加入下面一行内容:
export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
保存后执行命令“source ~/.bashrc”,使配置生效。
3.5 配置集群/分布式环境(只在Master结点中)
Secondary NameNode的作用:
1. 辅助 NameNode 合并 fsimage 和 editlog
- 主要作用:Secondary NameNode 主要负责定期合并 fsimage 和 editlog,以减轻 NameNode 的负担。
- fsimage:是 Hadoop HDFS 的文件系统元数据的快照,记录了文件系统的完整目录结构。
- editlog:记录了所有对 HDFS 元数据的修改操作(比如文件的创建、删除等)。
每当 HDFS 中的数据发生变化时,NameNode 会将这些操作记录到
editlog
文件中。随着时间的推移,editlog
文件会变得非常大,而fsimage
文件则会变得过时。为了减轻 NameNode 的负担,Secondary NameNode 会定期将editlog
文件中的所有更改应用到一个新的fsimage
文件中,并清理掉旧的editlog
文件。
3.5.1 修改文件workers(匹配Slave和Master)
作用:在Master结点中注册Slave结点(数据节点)
需要把所有数据节点的主机名写入该文件,每行一个,默认为 localhost(即把本机作为数据节点),所以,在伪分布式配置时,就采用了这种默认的配置,使得节点既作为名称节点也作为数据节点。在进行分布式配置时,可以保留localhost,让Master节点同时充当名称节点和数据节点,或者也可以删掉localhost这行,让Master节点仅作为名称节点使用。
本教程让Master节点仅作为名称节点使用,因此将hadoop01中的workers文件中原来的localhost删除,只添加如下一行内容:
hadoop02
3.5.2 修改文件core-site.xml
请把hadoop01中的core-site.xml文件修改为如下内容:
fs.defaultFS
hdfs://hadoop01:9000
hadoop.tmp.dir
file:/usr/local/hadoop/tmp
Abase for other temporary directories.
1.
fs.defaultFS
- 作用:配置 Hadoop 使用的文件系统的 URI。
- 说明:
fs.defaultFS
是 Hadoop 配置中的一个重要参数,用来指定 Hadoop 集群使用的默认文件系统。在这个例子中,fs.defaultFS
设置为hdfs://hadoop01:9000
,表示 Hadoop 使用的是 HDFS(Hadoop 分布式文件系统),并且 HDFS 名称节点(NameNode)运行在hadoop01
主机上,端口为9000
。- 示例:
hdfs://hadoop01:9000
表示 Hadoop 集群中的文件系统通过 HDFS 协议访问,且连接的服务器是hadoop01
主机,端口号是9000
。- 在该配置下,所有基于 HDFS 的文件操作(如
hadoop fs -ls /
)都将默认连接到hdfs://hadoop01:9000
上。2.
hadoop.tmp.dir
- 作用:指定 Hadoop 使用的临时目录。
- 说明:
hadoop.tmp.dir
配置项定义了 Hadoop 使用的临时目录的路径,通常用于存储临时文件,如日志文件、分布式缓存等。在这个例子中,配置的是本地文件系统路径file:/usr/local/hadoop/tmp
。- 示例:
file:/usr/local/hadoop/tmp
表示 Hadoop 会在本地文件系统上/usr/local/hadoop/tmp
路径下创建临时文件夹。这通常用于存放一些临时的计算数据、运行时日志等。- 需要确保该目录存在,并且 Hadoop 用户有权限读写该目录。
3.
标签
- 作用:对配置项进行描述。
- 说明:
标签用于为配置项提供额外的说明或注释。在这个例子中,
hadoop.tmp.dir
的描述是Abase for other temporary directories.
,说明这个目录是其他临时目录的基础目录。
3.5.3 修改文件hdfs-site.xml
对于Hadoop的分布式文件系统HDFS而言,一般都是采用冗余存储,冗余因子通常为3,也就是说,一份数据保存三份副本。但是,本教程只有一个Slave节点作为数据节点,即集群中只有一个数据节点,数据只能保存一份,所以 ,dfs.replication的值还是设置为 1。hadoop01中的hdfs-site.xml具体内容如下:
dfs.namenode.secondary.http-address
hadoop01:50090
dfs.replication
1
dfs.namenode.name.dir
file:/usr/local/hadoop/tmp/dfs/name
dfs.datanode.data.dir
file:/usr/local/hadoop/tmp/dfs/data
核心点:
1、如果有多个Slave结点来作为datanode,这里的 file:/usr/local/hadoop/tmp/dfs/data将在所有slave中生效(创建目录文件)。
2、namenode仅仅在Master机中创建file:/usr/local/hadoop/tmp/dfs/name
3.5.4 修改文件mapred-site.xml
hadoop01中的“/usr/local/hadoop/etc/hadoop”目录下有一个mapred-site.xml,把mapred-site.xml文件配置成如下内容:
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
hadoop01:10020
mapreduce.jobhistory.webapp.address
hadoop01:19888
yarn.app.mapreduce.am.env
HADOOP_MAPRED_HOME=/usr/local/hadoop
mapreduce.map.env
HADOOP_MAPRED_HOME=/usr/local/hadoop
mapreduce.reduce.env
HADOOP_MAPRED_HOME=/usr/local/hadoop
3.5.5 修改文件 yarn-site.xml
请把hadoop01中的yarn-site.xml文件配置成如下内容:
yarn.resourcemanager.hostname
hadoop01
yarn.nodemanager.aux-services
mapreduce_shuffle
上述5个文件全部配置完成以后,需要把Master节点上的“/usr/local/hadoop”文件夹复制到各个节点上。如果之前已经运行过伪分布式模式,建议在切换到集群模式之前首先删除之前在伪分布式模式下生成的临时文件。具体来说,需要首先在Master节点上执行如下命令:
cd /usr/local/hadoop
sudo rm -r ./tmp # 删除 Hadoop 临时文件
sudo rm -r ./logs/* # 删除日志文件
cd /usr/local
tar -zcf ~/hadoop.master.tar.gz ./hadoop # 先压缩再复制
cd ~
scp ./hadoop.master.tar.gz hadoop02:/home/hadoop
然后在hadoop02节点上执行如下命令:
cd ~
sudo rm -r /usr/local/hadoop # 删掉旧的(如果存在)
sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local
sudo chown -R hadoop /usr/local/hadoop
同样,如果有其他Slave节点,也要执行将hadoop.master.tar.gz传输到Slave节点以及在Slave节点解压文件的操作。
首次启动Hadoop集群时,需要先在Master节点(hadoop01)执行名称节点的格式化(只需要执行这一次,后面再启动Hadoop时,不要再次格式化名称节点),命令如下:
cd /usr/local/hadoop
./bin/hdfs namenode -format
现在就可以启动Hadoop了,启动需要在Master节点(hadoop01)上进行,执行如下命令:
cd /usr/local/hadoop
./sbin/start-dfs.sh
./sbin/start-yarn.sh
./sbin/mr-jobhistory-daemon.sh start historyserver
3.5.6 查看运行结果
通过命令jps可以查看各个节点是否分配了进程去运行。
如果已经正确启动,则在Master节点上可以看到NameNode、ResourceManager、SecondaryNameNode和JobHistoryServer进程,如下图:
在Slave节点可以看到DataNode和NodeManager进程,如下图:
另外还需要在Master节点上通过如下命令查看数据节点是否正常启动:
cd /usr/local/hadoop
./bin/hdfs dfsadmin -report
也可以在Linux系统的浏览器中输入地址“http://hadoop01:9870/”,通过 Web 页面看到查看名称节点和数据节点的状态,如下图:
3.5.7 特别提醒
这里再次强调,伪分布式模式和分布式模式切换时需要注意以下事项:
1、从分布式切换到伪分布式时,不要忘记修改workers配置文件;
2、在两者之间切换时,若遇到无法正常启动的情况,可以删除所涉及节点的临时文件夹,这样虽然之前的数据会被删掉,但能保证集群正确启动。所以,如果集群以前能启动,但后来启动不了,特别是数据节点无法启动,不妨试着删除所有节点(包括Slave节点)上的“/usr/local/hadoop/tmp”文件夹,再重新执行一次“hdfs namenode -format”,再次启动即可。
3.6 执行分布式实例
执行分布式实例过程与伪分布式模式一样,首先创建HDFS上的用户目录,可以在Master节点(hadoop01)上执行如下命令:
hdfs dfs -mkdir -p /user/hadoop #此前已经配置了PATH环境变量,所以不用路径全称
然后,在HDFS中创建一个input目录,并把“/usr/local/hadoop/etc/hadoop”目录中的配置文件作为输入文件复制到input目录中,命令如下:
hdfs dfs -mkdir input
hdfs dfs -put /usr/local/hadoop/etc/hadoop/*.xml input
接着就可以运行 MapReduce 作业了,命令如下:
hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar grep input output 'dfs[a-z.]+'
运行时的输出信息与伪分布式类似,会显示MapReduce作业的进度:
在执行过程中,可以在Linux系统中打开浏览器,在地址栏输入“http://hadoop01:8088/cluster”, 通过Web界面查看任务进度,在Web界面点击 "Tracking UI" 这一列的“ApplicationMaster”链接(如图3-22所示),可以看到任务的运行信息,如下图所示:
执行完毕后的输出结果如图所示:
最后,关闭Hadoop集群,需要在Master节点(hadoop01)执行如下命令:
stop-yarn.sh
stop-dfs.sh
mr-jobhistory-daemon.sh stop historyserver
至此,就顺利完成了Hadoop集群搭建。
4. 总结
如果觉得对你有帮助,辛苦友友点个赞,收个藏呀~~~