在Hadoop中,我理解主节点(Namenode)负责存储从机(Datanode)中的数据block。当我们使用-copyToLocal或-get时,从master可以将文件从HDFS复制到master节点的本地存储。奴隶有什么办法可以将存储在其中的block(数据)复制到他们自己的本地文件系统?例如,一个128MB的文件可以拆分为2个从属节点,每个从属节点存储64MB。从机有什么办法可以识别并将这block数据加载到其本地文件系统中吗?如果是这样,如何以编程方式完成?在这种情况下是否也可以使用命令-copyToLocal或-get?请帮忙。 最佳答案
我在Ambari上安装HDFS客户端时收到以下错误。服务器重置了好几次,还是解决不了。知道如何解决这个问题吗?标准错误:Traceback(mostrecentcalllast):File"/var/lib/ambari-agent/cache/common-services/HDFS/2.1.0.2.0/package/scripts/hdfs_client.py",line120,inHdfsClient().execute()File"/usr/lib/python2.6/site-packages/resource_management/libraries/script/scr
当数据最终写入HDFS时,Kafka通常用于摄取管道。有没有使用Kafka将数据从HDFS传输到外部系统的设计?我知道Kafka更适合作为消息系统,但是我们可以使用Kafka的发布-订阅来传输数据吗?在此用例中,生产者将数据从HDFS(一次1行)写入主题,消费者将异步读取。实现时可能会遇到数据大小、安全性等方面的挑战。我知道其他方式,比如sqoop、distcp等 最佳答案 您应该能够使用Mapreduce或您选择的任何框架来实现它。我猜是像ApacheNifi这样的东西可以开箱即用,但还没有尝试过那个方向。
对于在YARN(yarn-client)上运行的Spark作业,是否可以使用位于HDFS中的jars指定类路径有点像MapReduce作业是可能的:DistributedCache.addFileToClassPath(Pathfile,Configurationconf,FileSystemfs) 最佳答案 来自SparkContext文档:defaddJar(path:String):UnitAddsaJARdependencyforalltaskstobeexecutedonthisSparkContextinthefutur
我有一个要求,我必须将RTSP流转换为mp4视频或帧(视情况而定)并希望将它们保存在HDFS(Hadoop文件系统)中。为此,我尝试使用ffmpeg将RTSP流转换为mp4视频/帧并将视频/帧保存在本地文件系统中。就像下面-ffmpeg-irtsp://10.0.37.150:8554/big_bunny.mkv-r1-fimage2frames/big_frame-%3d.bmpffmpeg-irtsp://10.0.37.150:8554/big_bunny.mkvbig_bunny.mp4然后使用put命令将视频/帧(存储在本地文件系统中)保存到hdfs-hadoopfs-put
我想将文件从外部Windows服务器上传到不同服务器中的Hdfs。Hdfs是该服务器中clouderadocker容器的一部分。我从Windows服务器连接到Hdfs,如下所示:Configurationconf=newConfiguration();conf.set("fs.defaultFS","hdfs://%HDFS_SERVER_IP%:8020");fs=FileSystem.get(conf);当我调用fs.copyFromLocalFile(localFilePath,hdfsFilePath);时,它会抛出异常并创建Hdfs中没有任何内容的文件。:org.apache
我将制表符分隔的文件移动到hdfs,现在正试图将它移动到hbase。下面是我的importtsv命令bin/hbaseorg.apache.hadoop.hbase.mapreduce.ImportTsv-Dimporttsv.columns=HBASE_ROW_KEY,cf:ok,cf:ek,cf:rk,cf:rsk,cf:pdk,cf:pmk,cf:omk,cf:sok,cf:sdk,cf:cdk,cf:q,cf:uc,cf:up,cf:usp,cf:gm,cf:st,cf:gp-Dimporttsv.skip.bad.lines=false'sales_fact'hdfs://l
我在HDFS中有一个名为test.txt的文件。它包含1000条记录。我想将test.txt分成10个包含相同记录数的小文件。我可以在Linux中执行此操作,如下所示split-l$(($(wc-l在HDFS中是否有类似的功能。如何在HDFS中实现此目的 最佳答案 输入格式为NLineInputFormat的简单HadoopStreaming作业可以完成此任务。hadoopjar$HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-.jar\-Dmapreduce.input.li
我在本地文件系统中有一个源目录(/home/src),其中包含2个文件file1.txt和file2.txt我想通过代码将它们复制到HDFS中的目标目录(/user/dest)。importorg.apache.hadoop.fs.FileUtil;当我使用FileUtilAPI将内容从本地src移动到hdfsdest时,它正在移动src目录。FileUtil.copy("/home/src",fs,"/user/dest",true,conf);有没有一种方法,我可以使用JavaAPI将目录内容从src移动到dest? 最佳答案
我使用以下命令将一个文件夹从HDFS复制到我的本地计算机:hdfsdfs-copyToLocalhdfs:///user/myname/output-64-32/~/Documents/fromHDFS但是我在fromHDFS文件夹中看不到任何文件,而且当我尝试再次运行该命令时,它显示“文件存在”。非常感谢任何帮助。谢谢。 最佳答案 试试这些rm-r~/Documents/fromHDFS/*hdfsdfs-get/user/myname/output-64-32/~/Documents/fromHDFS/