Tag: hdfs

错误:scheme没有FileSystem:hdfs(Docker)

我正在收到错误: No FileSystem for scheme: hdfs在Docker容器中试图运行hadoop fs -ls 我卷本地计算机的/etc/hadoop/conf目录,所以configuration是相同的。 我没有问题在我的本地机器上运行hadooop fs -ls命令。 类似的答案没有帮助,因为它们没有解决主机/docker问题。 我在CentOS 7上运行。

Bash无法创build目录

在docker中 ,我想将文件README.md从现有目录/ opt / ibm / labfiles复制到新的/ input / tmp目录 。 我试试这个 hdfs dfs -put /opt/ibm/labfiles/README.md input/tmp 没有任何效果,因为在根目录中似乎没有/input文件夹。 所以我尝试创build它: hdfs dfs -mkdir /input mkdir:'/input': File exists 但是,当我ls时,没有input文件 或目录 我如何创build一个文件夹并复制文件? 谢谢!!

如何将安全的文件放置在牧场主存储?

我构build了一个kafka连接docker镜像,我使用rancher启动kafka连接集群。集群需要连接启用kerberos的hdfs。 所以我需要将keytab文件放入集群。 我不想将我的密钥表文件构build到我创build的映像中,因为它是重要的和安全的。 所以我想使用牧场主存储服务,但我不能把我的密钥表放入存储? 我的问题是:如何pipe理我的安全文件在牧场主或docker?

从运行Spark的另一个Docker容器写入Docker中运行的HDFS

我有一个spark + jupyter的docker镜像( https://github.com/zipfian/spark-install ) 我有另外一个hadoop的docker镜像。 ( https://github.com/kiwenlau/hadoop-cluster-docker ) 我在Ubuntu上面的2个镜像中运行2个容器。 对于第一个容器:我能够成功启动jupyter并运行python代码: import pyspark sc = pyspark.sparkcontext('local[*]') rdd = sc.parallelize(range(1000)) rdd.takeSample(False,5) 对于第二个容器: 在主机Ubuntu操作系统,我能够成功地去 web浏览器localhost:8088:然后浏览Hadoop的所有应用程序 localhost:50070:并浏览HDFS文件系统。 现在我想从jupyter(运行在第一个容器中)写入HDFS文件系统(在第二个容器中运行)。 所以我添加额外的行 rdd.saveAsTextFile("hdfs:///user/root/input/test") 我得到的错误: HDFS URI,无主机:hdfs:/// user / root / input / test 我不正确地给hdfspath? 我的理解是,我应该能够与另一个运行spark的容器运行hdfs的docker容器通信。 我错过了什么? 谢谢你的时间。 我还没有尝试docker撰写。

如何在Docker容器中保存HDFS数据

我有一个hadoop的docker形象。 (在我的情况是https://github.com/kiwenlau/hadoop-cluster-docker ,但问题适用于任何hadoop泊坞窗图像) 我正在运行docker集装箱如下所示.. sudo docker run -itd –net=hadoop –user=root -p 50070:50070 \ -p 8088:8088 -p 9000:9000 –name hadoop-master –hostname hadoop-master \ kiwenlau/hadoop 我正在从主机ubuntu机器上运行的java写数据到hdfs文件系统。 FileSystem hdfs = FileSystem.get(new URI(hdfs://0.0.0.0:9000"), configuration) hdfs.create(new Path("hdfs://0.0.0.0:9000/user/root/input/NewFile.txt")), 启动docker时如何挂载音量,以保持“NewFile1.txt”。 容器内的哪个“path”对应于HDFSpath“/user/root/input/NewFile.txt”?

Docker /虚拟化和HDFS

我目前正在使用的项目使用一个小型的Hadoop集群来迭代大约300GB的数据。 这些数据经过分析后填补了我们系统稍后使用的mongoDb。 现在Hadoop集群运行在4台物理机(旧的Dell Precision t3500)上。 为了testing这是一个很好的设置,因为我可以轻松地与机器进行交互,安装和testing。 但是,当程序发布时显然这是不太需要的。 对于这一步,最希望的结果是将Hadoop虚拟化。 将其展开到一组可以在群集中运行的Docker容器。 在search互联网时,很快就明白,Hadoop可以在这样的环境中运行。 大多数search结果都是关于Yarn和实际的hadoop实例,以及如何启动它们。 这很好,但我想知道:HDFS会发生什么。 在我目前的testing设置中,HDFS包含300GB数据,以三重方式存储(以防止数据丢失)。 当系统投入使用时,这个数据集每天将增长大约250MB。 将所有这些file upload到HDFS需要一段时间。 现在来看看我的问题: 当docker工人启动或停止某些容器时,HDFS将如何操作? 它可以保证它不会丢失任何数据。 而不需要很长时间来重新同步一个新的节点? 另外,我从错误的angular度看待这个问题的可能性很大。 我从来没有这样做过,所以如果我走错了路,请让我知道。 ps:如果这是一个长期/模糊的问题,我很抱歉。 但就像我说的,这对我来说是一个未知的领域,所以我正在寻找可以指引我正确方向的事情,Google只让我觉得不够,但把它的信息限制在YARN和Hadoop自己

Docker容器中的HDFS数据节点连接错误

我正在尝试使用我的开发机器提交一个spark工作。 Spark正在Docker容器中运行,出现以下错误。 我使用-p 50010:50010作为docker run命令的一部分,但仍然没有运气。 有没有其他的设置需要设置来启用连接到数据节点? > 16/02/04 09:15:10 INFO DFSClient: Exception in createBlockOutputStream > org.apache.hadoop.net.ConnectTimeoutException: 60000 millis timeout > while waiting for channel to be ready for connect. ch : > java.nio.channels.SocketChannel[connection-pending > remote=/178.19.0.2:50010] at > org.apache.hadoop.net.NetUtils.connect(NetUtils.java:533) at > org.apache.hadoop.hdfs.DFSOutputStream.createSocketForPipeline(DFSOutputStream.java:1610) > at > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.createBlockOutputStream(DFSOutputStream.java:1408) > at > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1361) > at > org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:588) > 16/02/04 […]

neo4j-mazerunner,如何增加docker-compose.yml中的内存大小

在MacBook Pro(16GB内存)上使用docker-compose创buildkbastani / spark-neo4j ,我试图分析我的图的strongly_connected_components 。 我有一个约60,000个节点(n1:Node {id:1})-[r:NEXT {count:100}]->(n2:Node {id:2})的graphics。 使用neo4j浏览器,我已经设法将pagerank处理回我的节点。 但是,当我尝试运行像strong_connected_components这样更复杂的algorithm时,出现以下错误: mazerunner_1 | 16/11/29 14:58:01 ERROR Utils: Uncaught exception in thread SparkListenerBus mazerunner_1 | java.lang.OutOfMemoryError: Java heap space mazerunner_1 | at org.apache.spark.ui.jobs.JobProgressListener$$anonfun$onJobStart$5$$anonfun$apply$9.apply(JobProgressListener.scala:200) mazerunner_1 | at org.apache.spark.ui.jobs.JobProgressListener$$anonfun$onJobStart$5$$anonfun$apply$9.apply(JobProgressListener.scala:200) mazerunner_1 | at scala.collection.mutable.MapLike$class.getOrElseUpdate(MapLike.scala:189) mazerunner_1 | at scala.collection.mutable.AbstractMap.getOrElseUpdate(Map.scala:91) mazerunner_1 | at org.apache.spark.ui.jobs.JobProgressListener$$anonfun$onJobStart$5.apply(JobProgressListener.scala:200) mazerunner_1 | at org.apache.spark.ui.jobs.JobProgressListener$$anonfun$onJobStart$5.apply(JobProgressListener.scala:198) mazerunner_1 | […]

HTTP调用到Docker容器将IPredirect到Docker ID

我正在Windows 10机器上运行Hadoop Docker容器。 我正在尝试使用这个库来编写一个Python程序来访问我的HDFS。 我能列出与我的客户端configuration“ http:// localhost:50070 ”(50070是webHDFS端口)的文件夹内容。 但是,当我尝试读取文件的内容时,出现错误,说明地址无法parsing。 在返回的错误中,主机是我所期望的Docker容器“453af3bd9164”的ID,而不是“localhost”或“127.0.0.1”。 我曾尝试使用不同的Docker容器和不同的Python库,仍然得到类似的错误。 所以我的猜测是我没有正确configuration我的Docker或Hadoop环境。 由于我可以从我的Docker主机访问NameNode WebUI,并且列出的文件夹内容可以正常工作,所以我认为我的datanodeconfiguration可能是问题所在。 当我通过WebUI检查时,我的datanode显示为“In Service”,所以至less运行。 如何正确configuration我的环境,以便HTTP调用我的HDFS datanode正常工作? 核心-site.xml中: <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> HDFS-site.xml中: <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.datanode.http.address</name> <value>0.0.0.0:50075</value> </property> </configuration> etc / hosts文件: 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.2 453af3bd9164 […]

将文件复制到hdfs中的文件夹中,显示:没有这样的文件或目录 – quickstart.cloudera

我在我的Ubuntu 16中安装了一个docker。在里面安装了cloudera quickstart(hostname = quickstart.cloudera)。 我需要将文件复制到名为stackexchange的hdfs中的文件夹中。 我已经给了命令 [root@quickstart /]# hdfs dfs -put /home/myuser/Stack/Tags.xml stackexchange 但它显示为一个错误 put: `/home/myuser/Stack/Tags.xml': No such file or directory 可能是什么问题? docker工人无法从本地文件夹复制? 我在hadoop和docker工人是非常新的..