大数据开发---阿里云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已被成功地初始化。

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

  • 22
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值