0


大数据开发---阿里云ECS上搭建Hadoop伪分布式环境(下篇)

   各位大佬、热爱大数据开发的朋友们:大家好!在上篇我已详细介绍了如何在阿里云ECS实例上搭建Hadoop伪分布式环境的前几步:JDK的安装、JDK环境变量的配置、Hadoop的安装与Hadoop环境变量的配置,下篇将重点讲解和分享Hadoop相关文件配置及SSH免密登录的配置,最终带你踏上启动Hadoop的成功之路。

    在测试验证Hadoop安装成功之后,就可以对Hadoop相关文件进行配置。那么,首先,需要修改Hadoop配置文件core-site.xml。当然想要修改它之前,就应该清楚core-site.xml文件位于服务器哪个目录下?这里这个文件是在我的阿里云ECS  "/opt/hadoop-3.3.1/etc/hadoop/core-site.xml"这个路径下,如下图所示:

(图9--core-site.xml文件的目录)

  (1) 然后,需要执行以下命令,进入编辑页面。

vim /opt/hadoop-3.3.1/etc/hadoop/core-site.xml ,具体可参考图10

(图10--进入core-site.xml的编辑页面)

(2)输入

i

,进入编辑模式。

(3)在

<configuration></configuration>

节点内,插入如下内容。具体可参考图11

<property> <name>hadoop.tmp.dir</name> <value>file:/opt/hadoop-3.3.1/etc/hadoop/tmp</value> <description>location to store temporary files</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property>

(图11--core-site.xml文件中需要配置的内容)

(4)按

Esc

,退出编辑模式,并输入

:wq

保存并退出。

其次,需要修改Hadoop配置文件hdfs-site.xml。

(1)执行以下命令,进入编辑页面。(具体的编辑页面如图12所示)

vim /opt/hadoop-3.3.1/etc/hadoop/hdfs-site.xml

(图12--hdfs-site.xml文件的编辑页面)

(2)输入

i

,进入编辑模式。

(3)在

<configuration></configuration>

节点内,插入如下内容。(如图13所示)

(图13--对namenode,datanode进行配置)

(4)按

Esc

,退出编辑模式,并输入

:wq

后保存并退出。到此,Hadoop的相关文件的配置就完成了。

再次,**还需要配置SSH免密登录。

(1)

执行以下命令,创建公钥和私钥。

ssh-keygen -t rsa

(2)因为,咱们的目标是实现SSH免密登录,因此,只需要一路回车(连密码都无需输入,直接按Enter就会默认为空密码);当回显信息如下所示,表示创建公钥和私钥成功。(具体详见图14)

(图14--创建公钥和私钥的过程)

(3)执行以下命令,将公钥添加到authorized_keys文件中。请注意!!!要将公钥添加到authorized_keys文件中的话,得保证你的服务器上有这个文件,我这里先去查找了一下,如下图所示:

(图15--验证服务器上相应的目录是否有authorized_keys文件)

最后,也是极为关键的一步:启动Hadoop。

(1)执行以下命令,初始化

namenode

hadoop namenode -format

(2)依次执行以下命令,启动Hadoop。

start-dfs.sh

很不幸,突然报错了,具体报错的代码提示如下:

有句古话说的好,叫“咱不惹事,但也不怕事”,所以,遇到问题一定要冷静思考。接下来我来分析一下出现这6个ERROR 的原因及解决的办法,结合第1和第2个ERROR后面的英文提示信息:正在试图用root 用户对hdfs 的name节点进行操作,但那里却没有定义一个hdfs 的name节点的用户。看到这里应该不难理解是需要在hadoop-env.sh文件里,配置一下相关参数即可。具体的操作步骤如下图:

(1)找到hadoop-env.sh文件所在的目录。

(2)查看hadoop-env.sh文件所在的目录,并对hadoop-env.sh文件做一些修改。

保存完对hadoop-env.sh文件的配置后,重新返回命令行模式并再次执行"hadoop namenode -format" ,我们可以看一下输出的INFO里面的内容提示,当看到下图中的" 2024-01-06 15:31:34,348 INFO common.Storage: Storage directory /opt/hadoop-3.3.1/etc/hadoop/tmp/dfs/name has been successfully formatted."---->表明name node已被成功地初始化。

<!-----未完待续,请大家继续关注后续内容,谢谢!>


本文转载自: https://blog.csdn.net/weixin_37427992/article/details/135158510
版权归原作者 weixin_37427992 所有, 如有侵权,请联系我们删除。

“大数据开发---阿里云ECS上搭建Hadoop伪分布式环境(下篇)”的评论:

还没有评论