gpt4 book ai didi

hadoop - 需要帮助以伪分布式模式(一台机器)添加多个DataNodes,使用Hadoop-0.18.0

转载 作者:可可西里 更新时间:2023-11-01 14:24:08 26 4
gpt4 key购买 nike

我是一名学生,对 Hadoop 很感兴趣,最近开始探索它。我尝试在 pseudo-distributed 中添加一个额外的 DataNode模式但失败了。

我正在关注 Yahoo 开发者 tutorial所以我使用的 Hadoop 版本是 hadoop-0.18.0

我尝试使用我在网上找到的两种方法启动:

方法一 ( link )

这条线有问题

bin/hadoop-daemon.sh --script bin/hdfs $1 datanode $DN_CONF_OPTS 

--script bin/hdfs在我使用的版本中似乎无效。我将其更改为 --config $HADOOP_HOME/conf2包含该目录中的所有配置文件,但是当脚本运行时出现错误:

Usage: Java DataNode [-rollback]

知道错误是什么意思吗?日志文件已创建,但 DataNode 未启动。

方法 2 ( link )

基本上我将 conf 文件夹复制到 conf2文件夹,对网站上记录的 hadoop-site.xml 进行必要的更改和 hadoop-env.sh .然后我运行命令

./hadoop-daemon.sh --config ..../conf2 start datanode

它给出了错误:

datanode running as process 4190. stop it first.

所以我猜这是启动的第一个DataNode,并且该命令无法启动另一个DataNode。

我可以做些什么来在 Yahoo VM Hadoop 环境中启动额外的 DataNode 吗?任何帮助/建议将不胜感激。

最佳答案

Hadoop 启动/停止脚本使用 /tmp 作为默认目录,用于存储已启动守护进程的 PID。在您的情况下,当您启动第二个数据节点时,启动脚本会从第一个数据节点中找到 /tmp/hadoop-someuser-datanode.pid 文件,并假定数据节点守护程序已经启动。

  • 简单的解决方案是将 HADOOP_PID_DIR 环境变量设置为其他内容(但不是 /tmp)。也不要忘记更新 conf2 中的所有网络端口号。

  • 明智的解决方案是使用 hadoop 环境启动第二个 VM,并将它们加入一个集群。这是 hadoop 旨在使用的方式。

关于hadoop - 需要帮助以伪分布式模式(一台机器)添加多个DataNodes,使用Hadoop-0.18.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17872593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com