上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

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

guduadmin24小时前

       各位大佬、热爱大数据开发的朋友们:大家好!在上篇我已详细介绍了如何在阿里云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"这个路径下,如下图所示:

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

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

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

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

大数据开发---阿里云ECS上搭建Hadoop伪分布式环境(下篇),第2张(图10--进入core-site.xml的编辑页面)

(2)输入i,进入编辑模式。

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

        hadoop.tmp.dir

        file:/opt/hadoop-3.3.1/etc/hadoop/tmp

        location to store temporary files

   

   

        fs.defaultFS

        hdfs://localhost:9000

   

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

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

(4)按Esc,退出编辑模式,并输入:wq保存并退出。

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

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

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

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

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

(2)输入i,进入编辑模式。

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

大数据开发---阿里云ECS上搭建Hadoop伪分布式环境(下篇),第5张(图13--对namenode,datanode进行配置)

(4)按Esc,退出编辑模式,并输入:wq后保存并退出。到此,Hadoop的相关文件的配置就完成了。

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

(1)

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

ssh-keygen -t rsa

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

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

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

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

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

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

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

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

hadoop namenode -format

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

start-dfs.sh

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

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

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

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

大数据开发---阿里云ECS上搭建Hadoop伪分布式环境(下篇),第9张(2)查看hadoop-env.sh文件所在的目录,并对hadoop-env.sh文件做一些修改。

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

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

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

保存完对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已被成功地初始化。

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

网友评论

搜索
最新文章
热门文章
热门标签