尽管处于“健康”状态,但无法访问中间层dc/os上的hdfs

w1e3prcc  于 2021-06-26  发布在  Mesos
关注(0)|答案(1)|浏览(384)

因此,我在aws中使用cloudformation脚本/指令部署了一个mesos集群,该脚本/指令使用默认集群设置(5个私有从属、一个公共从属、单个主服务器、所有m3.xlarge),并在集群上安装了hdfs dcos 命令: dcos package install hdfs .
根据dc/os web ui和marathon,hdfs服务显然正常运行:

(问题)在这一点上,我应该能够ssh到我的从属节点并执行 hadoop fs 命令,但返回错误 -bash: hadoop: command not found (基本上是告诉我 hadoop 安装在这里)。
hdfs服务的stdout和stderr日志记录没有错误,但值得注意的是,日志中出现了一条反复出现的“offer decline”消息: Processing DECLINE call for offers: [ 5358a8d8-74b4-4f33-9418-b76578d6c82b-O8390 ] for framework 5358a8d8-74b4-4f33-9418-b76578d6c82b-0001 (hdfs) at scheduler-60fe6c75-9288-49bc-9180-f7a271c … 我肯定我错过了一些愚蠢的事情。

iyfjxgzm

iyfjxgzm1#

所以我想出了一个解决方案,至少可以在安装后验证hdfs是否在mesos dc/os集群上运行。
和你的主人在一起 dcos 客户端: dcos node ssh --master-proxy --leader 创建一个安装了hadoop的docker容器来查询您的hdfs: docker run -ti cloudera/quickstart hadoop fs -ls hdfs://namenode-0.hdfs.mesos:9001/ ###为什么这不是一个好的解决方案&注意什么:
以前的文档都指向 hdfs://hdfs/ ,它将抛出一个 java.net.UnknownHostException . 我不喜欢直接指向namenode。
其他文档建议您可以运行 hdfs fs ... 当您使用ssh连接到集群时的命令-这并不像文档中描述的那样有效。
我刚才用来测试您是否可以访问hdfs的图像大于4gb(更好的选择?)
这些都没有记录在案(或者至少没有清楚/完整地记录在案,所以我要更新这篇文章)。我不得不在dc/os闲聊中寻找答案。
中间层/hdfs repo与通过安装的hdfs是完全不同的版本 dcos package install hdfs . 回购协议不再被维护,新版本还没有开源(因此我想缺乏最新的文档)。
我希望有一个更简单的方法来与hdfs接口,但我还没有找到。任何更好的解决方案都会非常有用!

相关问题