gpt4 book ai didi

php - 错误:未能找到建议检查集群运行状况的数据节点

转载 作者:行者123 更新时间:2023-12-02 21:26:14 24 4
gpt4 key购买 nike

我已经编写了以下代码,用于通过php为hdfs创建/写入文件。使用以下API作为https://github.com/Yujiro3/WebHDFS引用

但是代码给出了以下错误,无法将文件上传到所需目录中:

{"RemoteException":{"exception":"IOException","javaClassName":"java.io.IOException","message":"Failed to find datanode, suggest to check cluster health."}
HTTP/1.1 403 Forbidden
Cache-Control: no-cache
Expires: Mon, 07 Mar 2016 21:28:39 GMT
Date: Mon, 07 Mar 2016 21:28:39 GMT
Pragma: no-cache
Expires: Mon, 07 Mar 2016 21:28:39 GMT
Date: Mon, 07 Mar 2016 21:28:39 GMT
Pragma: no-cache
Content-Type: application/json
Transfer-Encoding: chunked
Server: Jetty(6.1.26)

这是我的代码:
<?php

require 'WebHDFS.php';
$hdfs = new WebHDFS ();

$hdfs -> put('/user/webuser/sample.txt', "sample \ n test \ n");
?>

我该怎么做?

最佳答案

看来您的hdfs datanode无法访问,与您的php无关。

在您的控制台中尝试创建一个没有PHP的文件夹,如下所示:

hdfs dfs -mkdir hdfs:///demofolder

我猜测这将失败,因为数据节点已关闭。

检查您的hdfs-site.xml文件以查看dfs.datanode.data.dir指向的位置,并确保该位置存在。然后在同一文件中查找dfs.datanode.address。我的是0.0.0.0:50010

尝试telnet到该IP端口:
telnet 0.0.0.0 50010

您应该能够连接。如果不能,则需要启动数据节点。我能够通过运行以下命令来做到这一点:
/usr/hdp/2.1.2/hadoop-hdfs/bin/hdfs datanode

您的“hdfs”的位置可能与我的不同。
假设您已经开始尝试再次创建文件夹。如果可行,请再次尝试使用PHP。

我注意到的最后一件事是在WebHDFS.php中,它的默认主机名和端口是hdfs。
public function __construct($host='localhost', $port='50070') {
$this->_host = $host;
$this->_port = $port;
}

确保您的配置与默认设置一致,除非您打算覆盖它们。
祝好运。

关于php - 错误:未能找到建议检查集群运行状况的数据节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35854600/

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