草庐IT

hadoop - HDFS/tmp 文件系统正在快速填满,预计会导致中断

在我们的Hadoop集群(Cloudera发行版)中,我们最近发现HiveJob是由用户在“/tmp”位置创建160TB的文件启动的,它几乎耗尽了剩余的HDFS空间并即将导致中断。后来我们排除故障并终止特定作业,因为我们无法联系到启动该作业的用户。所以现在我的问题是,如果有人创建了大文件或者我们需要限制使用HDFA配额的用户,我们能否为“/tmp”位置设置警报。如果您有任何其他建议,请分享。 最佳答案 您可以使用以下一组命令设置和管理目录的配额hdfsdfsadmin-setQuota...hdfsdfsadmin-clrQuota

hadoop - 为什么我应该避免在 Hadoop HDFS 中存储大量小文件?

我读到很多小文件存储在HDFS中可能是个问题,因为很多小文件意味着很多对象HadoopNameNode内存。然而,由于每个block都作为对象存储在命名节点中,对于大文件有何不同?无论您在内存中存储单个文件的1000个block还是1000个文件的1000个block,NameNode内存使用量是否相同?map作业的类似问题。由于它们对block进行操作,因此block是小文件还是大文件有什么关系? 最佳答案 在高层次上,您可以将HadoopNameNode视为跟踪器,用于跟踪组成存储在HDFS中的"file"的block所在的位置

python - 如何在 hadoop 分布式文件系统 (hdfs) 上执行 python 文件 (.py)

Hadoop提供了使用直接在集群上运行java应用程序的可能性hadoopjar现在我有一个python脚本而不是java应用程序。下面是没有所有功能的.py文件的构造,只剩下“从文件夹中删除文件”部分importos.pathdeftransform():inputfolder="input"forfilenameinos.listdir(inputfolder):path=inputfolder+"\\"+filenameos.remove(path)defmain():transform()if__name__=="__main__":main()有没有一种方法可以像我执行.ja

hadoop - 如何配置 pyspark 默认写入 HDFS?

我正在尝试让spark默认写入HDFS。目前,当我在RDD上调用saveAsTextFile时,它​​会写入我的本地文件系统。具体来说,如果我这样做:rdd=sc.parallelize([1,2,3,4,5])rdd.saveAsTextFile("/tmp/sample")它将写入我本地文件系统上名为/tmp/sample的文件。但是,如果我这样做rdd=sc.parallelize([1,2,3,4,5])rdd.saveAsTextFile("hdfs://localhost:9000/tmp/sample")然后它会保存到我本地hdfs实例上的适当位置。有没有办法配置或初始化

hadoop - 在 HDFS 上写入 Kafka Streaming 结果

我编写了一个KafkaStreaming应用程序,使用以下代码将结果写入本地文件:source.mapValues(record->finall(record)).mapValues(record->Arrays.deepToString(record)).writeAsText(PATH);尝试在HDFS上保存数据,使用命令:source.mapValues(record->finall(record)).mapValues(record->Arrays.deepToString(record)).writeAsText(hdfs://localhost:54310/output);

hadoop - Oozie 将文件从一个 hdfs 位置复制到另一个

我正在使用ooziefsmove选项将数据从一个hdfs文件夹复制到另一个。但是,如果目标存在,fs命令会按预期将源作为目标目录的子目录。有没有办法避免这种情况,只将avro文件从源复制到目标。 最佳答案 如果您必须覆盖一个目录,您可以使用-f示例:hdfsdfs-cp-f/sourcepath/Destinationpath您可以在oozie中反射(reflect)相同的方式。如果你只想复制Avro文件,选择avro文件的通用扩展名并使用wildcare,像这样hdfsdfs-cp-fsourcepath/*.avro/Destn

hadoop - HDFS保存数据的格式有哪些?

创建DataFrame后,我可以将其保存为avro、csv或parquet格式。在dataframe或rdd中是否有任何其他可用格式可以将数据保存在HadoopHDFS中? 最佳答案 来自WhatIsApacheHadoop?:HadoopDistributedFileSystem(HDFS™):Adistributedfilesystemthatprovideshigh-throughputaccesstoapplicationdata.有了它,您可以使用HDFS以任何格式存储虚拟文件,包括avro、CSV、parquet等。在S

c# - 如何在 C# 中使用 Web HDFS REST API 附加文件?

我之前使用AzureDataLake上传文件,但仍想附加现有DataLake文本文件的文本文件内容。是否有任何选项可用于在C#中使用WebHDFSRESTAPI附加文本文件数据?我引用这个链接enterlinkdescriptionhere代码:我可以引用上面的链接获取附加URL。但是我如何使用此URL并使用C#追加文件?privateconststringAppendUrl="https://{0}.azuredatalakestore.net/webhdfs/v1/{1}?&op=APPEND&noredirect=true"; 最佳答案

hadoop - 外部访问部署在 Kubernetes 中的 Hadoop HDFS

目前,我已经在Kubernetes中部署了一个Hadoop集群。HDFS有三个数据节点(statefulset)和一个名称节点。我想从外部访问HDFS中的数据。因此,我创建了一个nodePort类型的服务来导出名称节点。当我尝试在HDFS中下载文件时,名称节点将我重定向到数据节点。问题是,重定向url的域是Kubernetes中的域,例如hadoop-hdfs-dn-0.hadoop-hdfs-dn.hadoop.svc.cluster.local:50075,它无法可以从外部访问。我的第一个想法是客户端自己解析域。喜欢hadoop-hdfs-dn-0.hadoop-hdfs-dn.h

hadoop - 将 HDFS 复制因子降低到 2(或仅一个)对 HBase 映射/降低性能的影响

将HDFS复制因子降低到2(或仅一个)对HBase映射/降低性能有何影响?我有一个托管在AzureVM上的HBase集群,数据存储在azure托管磁盘中。Azure托管磁盘本身保留了3个数据副本用于容错,因此考虑降低HDFS复制因子以节省存储开销。考虑到mapreduce作业利用数据的本地可用性来避免通过网络传输数据,想知道如果只有一个数据副本可用,是否有人知道任何关于mapreduce性能影响的信息? 最佳答案 这是一个很难回答的问题,因为它在很大程度上取决于您运行的工作负载。通过降低复制因子,您可以加快写入操作的性能,因为数据写