2

我需要一些关于如何使用 Cloudera Docker 容器运行 MapReduce 程序/作业的帮助。
我正在使用 Linux (ElementaryOS) 高配置。笔记本电脑(24GB RAM,i7 处理器)。
我能够安装 Cloudera docker 映像,运行它并且还没有问题地执行了以下操作:
1. 看到 # 提示符并运行 HDFS 命令 (hadoop fs -ls),尽管它没有返回任何内容。
2.能够访问Hue Editor
3.能够运行Cloudera manager并启动所有服务(Everything)。
4.在我的本地环境中,我可以创建一个 WordCount MapReduce 程序(jar),下载该程序的所有 Maven 依赖项(不在 docker 容器内)。
现在我的问题是:
如何将这个 WordCount JAR 提交给正在运行的 Docker 容器?
如何使用上传的文本文件 (HDFS) 运行这个 MapReduce 程序/作业 (WordCount)?

4

1 回答 1

2

如果您使用 8888 端口的端口映射启动容器,您将能够访问包含文件浏览器的 Hue。因此,您将能够轻松地将 HDFS 文件放入集群中。

要启动 map/reduce 作业,您需要将 jar 复制到容器中,因为 Cloudera 没有在其容器中提供任何卷(至少,此处未记录:http: //www.cloudera.com/documentation/ enterprise/latest/topics/quickstart_docker_container.html)这可能具有挑战性。也许您可以尝试通过 scp 添加它。

我自己创建了一些 cloudera 容器,我按节点类型(masternode、datanode、edgenode)提供了一个容器,我只是在 edgenode 中添加了一个卷,因为这似乎是一个不错的想法。您可以在 docker hub 中找到我的容器:https ://hub.docker.com/r/loicmathieu/cloudera-cdh-edgenode/

于 2016-12-29T14:40:16.520 回答