为了响应课程要求,本学期学习了云计算和大数据。该实验是让我们在Ubuntu中配置Hadoop分布式群集。这两天将与Internet的各种搜索教程结合在一起。版本较旧,不是很适合),而我自己进行操作时,我还编写了一个教程记录,其中还包括一些问题和解决方案和解决方案。由于这方面的第一次联系,有很多缺点。原谅我,我只能尽可能详细
在构建过程中,我发现了一些博客详细且清晰的文章撰写,供参考:
https://blog.csdn.net/zyw2002/article/details/123486055
http://dblab.xmu.edu.cn/blog/2775-2/
https://blog.csdn.net/pro_mikexiao/article/details/108740821
此外,教程中存储路径的操作可以取决于您自己的情况。您只需要注意操作过程中自己的路径即可。
注意:作者的虚拟机环境是Ubuntu 20.04.3。本教程更倾向于命令行操作。如果您不熟悉该操作,则可以根据教程的某些描述执行窗口操作。当您遇到某些操作时,您需要管理员权限来使用命令行
本教程是一个分布式的hadoop群集,因此它将配备两台虚拟机(主机和从属)作为使用JDK的配置的mainstorphic himSome),有些仅用于主机上的配置(例如
当然,您还可以在窗口中输入一个文件夹,右键单击,在终端中选择它,然后输入各种命令进行执行,以便您可以在命令中保存很多麻烦,并带来路径的麻烦。
转到Oracle的官方网站,找到您需要下载的版本(在这里我选择JDK8,您可以根据自己的选择选择其他JDK版本),选择Linux的X64版本,然后单击以下载
您也可以使用我共享的链接(提取代码:4XT3)
请访问Apache下的Hadoop官方网站(可能没有可用的情况,您需要在线上),单击以下载
您还可以使用我共享的链接(提取代码:ufxv)
选择要在下载页面上下载的版本,单击发行说明
然后单击以下载
将下载的JDK和Hadoop从Windows转移到Ubuntu,您可以使用XFTP(前提是已安装并打开SSH服务,请参阅[2.2](#2.2](#2.2)(以确保已安装了Ubuntu环境)或直接复制它(前面的虚拟机是使用VMTools安装的,如果您不知道,可以直接尝试到虚拟机)
将这两个文件移至Ubuntu中的文件夹
如果在传输过程中发生故障,原因是文件文件夹的权限不够
注意:r读取表,w要读(写),x表示执行(执行)读取,写作和运行三个权限。ISrwxrwxrwx
因为我在传输过程中遇到了这个问题,然后通过本文解决了
这些配置大多数是安装和配置所必需的,并且可以
进入终端
进入Ubuntu终端
根据不同的Linux发行版和相应的版本(例如Centos和Ubuntu配置的主机名的文件)。
①配置主机名
在终端输入中,更改主机名文件中的主机名主(另一个名为“从”的虚拟机)
②配置主机列表
注意:两台虚拟机都需要执行相同的操作
输入,在主机文件中删除聚会的内容
然后加
然后重新启动虚拟机,然后打开终端,您可以发现虚拟机的主机名已更改
③测试
输入并在主机和从属中进行测试(4次结束)。
参考博客
注意:请确保已安装SSH
该配置是Master的密集登录到从属
2.4.1终端输入中的主操作命令以生成密钥,出现以下提示
此时,按Enter确认将SSH的键文件保存到默认文件夹,然后将出现另外两个提示。
按下汽车输入键后,此图似乎解释了生成键的成功
然后,我们可以使用并命令转到文件夹,并检查是否有著名文件。这是生成的公钥和私钥文件
如果您不想使用命令,也可以检查窗口中的文件夹。如果您不在中间看到.ssh文件夹,则需要检查右上方的隐藏文件
然后,继续输入公共密钥文件的副本
注意:由于我刚刚进入文件夹,此时,我的位置位于.ssh文件夹中,然后我可以直接复制它。如果您的位置不在.SH文件夹中,则需要在命令中命令。编写特定路径,例如或
然后,修改授权_keys文件的授权,该命令为:
修改后,我们可以在.ssh文件夹中使用命令来检查文件的权限。如果修改成功
然后,将“授权”文件复制到从属节点的根目录,命令是我的命令是
输入命令显示上述提示,输入,输入
然后按照提示输入从属的登录密码。验证后,他将自动将文件复制到从节点
目前,我们可以在从属节点上输入和命令以查看文件的副本
2.4.2从属下操作,使用命令生成键
然后,将文件从主机转到从设备中的文件夹中,该命令为
然后,修改文件中的文件授权,命令:修改后,我们还可以使用上面提到的方法来查看文件的授权是否已成功修改
2.4.3测试将在上述两个步骤中成功配置后,我们进入主机。
注意:主要机器需要执行相同的操作
在/usr文件夹中创建一个文件夹以存储JDK(存储位置可以单独确定,但是稍后将配置环境变量等。您需要注意自己的存储路径)
在终端中使用并按顺序使用
输入终端输入命令将JDK解压缩到指定的文件夹(即指定为解压缩的目录)
减压完成后,我们可以在其中看到一个名称的文件夹。为了配置环境变量一段时间,我们将在此处重命名
用它重命名
提示:MV指令:移动文件和目录或重命名基本语法:(功能描述:重命名)(功能描述:移动文件)
在终端中输入编辑配置文件文件(如果您只想配置当前用户,则该方法是配置系统下的所有用户)
添加到配置文件文件的末尾:
然后按返回正常模式,然后按钮,输入保存出口
输入使配置环境变量得以生效
输入命令,以下提示说明成功
注意:如果我们创建一个新的终端窗口,然后执行此命令,将会出现错误,例如找不到Java,我们只需要重新启动虚拟机,因为当虚拟机打开时,文件将被加载,因此在加载配置之前将加载配置。JDK环境变量
请参阅博客,写作非常详细
在用于存储hadoop的/usr文件夹中创建一个新文件夹
在终端中使用
输入终端输入命令将hadoop解压缩到指定文件夹
解压缩完成后,我们可以在其中看到一个名称的文件夹,这对于环境变量的配置也很方便。在这里,我们将重命名
用它重命名
在终端中输入编辑配置文件文件(例如JDK,此方法是配置系统下的所有用户。如果您只想配置当前用户,请编辑它))))
添加到配置文件文件的末尾:
然后按返回正常模式,然后按钮,输入保存出口
输入启用配置环境变量,或重新启动虚拟机(建议您不重新启动测试终端,您将报告一个错误,找不到错误的Hadoop)
输入,以下类似信息描述似乎成功
以下是在主节点主的hadoop中配置的
这里的操作可以直接打开需要编辑的文件,无需使用VI或VIM
对于快速,除了第一部分背后的配置外,我直接使用文本编辑器
此处配置的文件在文件夹中
4.4.1配置环境变量hadoop-env.sh在文件夹中的文件夹中
使用命令,打开并编辑此文件,并在最后添加:
压回正常模式,输入保存并退出
4.4.2配置环境变量Yarn -env.sh与Hadoop -Env.sh相同,您可以在末尾添加它
4.4.3配置核心组件core-site.xml以打开并编辑core-size.xml文件以添加文本编辑器,将其添加到标签:
4.4.4配置文件系统hdfs-site.xml打开并在文本编辑器中编辑hdfs-site.xml文件,添加到标签:
4.4.5配置文件系统Yarn-site.xml打开并使用文本编辑器编辑Yarn-site.xml文件,然后将其添加到标签:
4.4.6配置计算框架mapred-site.xml打开并用文本编辑器编辑mapred-site.xml文件,添加到标签:
4.4.7配置主要节点以使用文本编辑器打开和编辑工人文件,并将其localhost修改为从
我们使用文件夹中的终端将其打开,然后使用命令将配置的Hadoop的整个文件夹复制到节点从属(因为我们已经配置了SSH免费登录,因此您可以直接复制它。。好的Hadoop的环境变量!!!)
因为我的主节点和从属节点具有JDK和Hadoop的相同位置和配置,所以我不需要在从服务器上进行其他修改
等待一会儿复制并完成
(在大师中进行这些操作)
在中间打开终端
执行命令,如果提示在中间出现,请按照提示或输入(仅在首次启动群集开始时才能执行一次,并且在启动后不会执行您)
执行完成后,然后输入文件夹以执行
使用该命令查看该过程是否在主节点主机中开始,并且已出现以下过程
使用来自节点从属的查看,出现以下过程
然后,我们在主节点中打开Firefox浏览器并输入,如图所示
再次输入,如图所示
我们还可以使用主节点中的命令来查看是否正常启动数据节点。如果屏幕信息中的“实时datanodes”不是0,则意味着群集已成功启动。由于我们只有1个从属节点作为数据节点,因此数据节点成功启动后,信息如图所示。下面将显示
它已经被认为是上述测试
最后,输入文件夹并执行测试PI实例
在正常情况下,应该与以下方式相似:
但是由于我遇到了一个问题(我在第四点提到了4.7的第四点),所以我无法解决,我无法运行它。
1.当我在文件夹中执行命令时,尽管启动成功,但警告出现了,这也导致我在测试PI实例时报告了错误,这表明它没有加载Hadoop的本地库。我们只需要在文件中的文件中。
2.启动Hadoop后,测试PI实例再次出现。该错误的解决方案是将值添加到文件中,并通过命令获得值。
3.多个测试PI实例有错误。原因:安全模式是HDFS所在的特殊状态。在此状态下,文件系统仅接受读取数据请求,而不是接受更改和其他更改请求,例如删除和修改。
解决方案:执行更改命令以关闭安全模式
4.测试PI实例以报告错误。我在互联网上搜索了各种搜索,但是该方法毫无用处。我已经解决了一天。主要是我第一次联系这个东西。
以上是构建hadoop分布式群集的全部内容
================================== 5.2更新
今天,我再次测试了PI实例。突然,MapReduce的工作进度可以启动(尽管最终没有用完?),这让我想知道我的计算机是否太拉动了?