草庐IT

hdfs_clusters

全部标签

linux - 如何使用 Linux 命令获取 Ambari HDFS 中文件夹的创建日期?

哟,我正在尝试获取多个文件夹的创建日期。如果日期是14天前,我想将其删除。但是,我找不到合适的hdfs命令来获取创建日期。我想到了:hdfsdfs-ls/mainFolder/subFolder然后解析输出。这很不专业,必须有更简单的方法。提前致谢!!! 最佳答案 使用默认格式的stat命令。它将打印出提供的文件/文件夹的修改日期。查看FileSystemShellHadoopReference想要查询更多的信息。例如:$hadoopfs-stat/user2016-03-2817:14:53

hadoop - Hdfs 到 s3 Distcp - 访问 key

为了将文件从HDFS复制到S3存储桶,我使用了命令hadoopdistcp-Dfs.s3a.access.key=ACCESS_KEY_HERE\-Dfs.s3a.secret.key=SECRET_KEY_HERE/path/in/hdfss3a:/BUCKETNAME但是访问key和sectetkey在这里是可见的,这是不安全的。有没有什么方法可以从文件中提供凭据。我不想编辑配置文件,这是我遇到的方法之一。 最佳答案 我也遇到过同样的情况,在从matadata实例获得临时凭证之后。(如果您使用的是IAM用户的凭证,请注意这里提到

hadoop - HDFS 加密 : User:hdfs not allowed to do 'DECRYPT_EEK' on 'hdfskey'

我正在尝试在HDP2.4上使用RangerKMS设置HDFS加密。我能够部署和配置KMS服务。我已经创建了一个key和一个访问策略,以授予hdfs用户使用此key进行操作的所有权限。我可以创建一个加密区域sudo-uhdfshdfsmkdir/data_encsudo-uhdfshdfscrypto-createZone-keyNamehdfskey-path/data_enc但是,当我尝试将文件放入目录时,出现此错误:sudo-uhdfshdfsdfs-put/tmp/file.txt/data_enc/...User:hdfsnotallowedtodo'DECRYPT_EEK'o

hadoop - 大量小文件和 128 Mb block 大小的 HDFS 行为

我有很多(多达数十万个)小文件,每个10-100Kb。我的HDFSblock大小等于128MB。我的复制因子等于1。为每个小文件分配HDFSblock有什么缺点吗?我见过非常矛盾的答案:AnswerwhichsaidthesmallestfiletakesthewholeblockAnswerwhichsaidthatHDFSiscleverenough,andsmallfilewilltakesmall_file_size+300bytesofmetadata我在thisanswer中做了一个测试,它证明第二个选项是正确的——HDFS不会为小文件分配整个block。但是,从HDFS批

hadoop - curl 下载到 HDFS

我有这段代码:curl-ofileName.csvurl|xargshdfsdfs-moveFromLocal$1/somePath/当我执行此代码时,curl将请求中的值放入fileName.csv中,文件将移动到HDFS。我想知道我是否可以在内存中保留curl输出,发送到管道,然后将值写入HDFS?像这样的东西(有效):curlurl|xargshdfsdfs-put$1/somePath 最佳答案 hdfsdfs-put命令可以接受来自stdin的文件输入,使用熟悉的习惯用法指定-表示stdin:>curl-sShttps:/

hadoop - 如何使用谷歌云将文件从 Dataproc 中的 GCS 存储桶复制到 HDFS?

我已将数据文件上传到我在Dataproc中的项目的GCS存储桶。现在我想将该文件复制到HDFS。我该怎么做? 最佳答案 对于单个“小”文件您可以使用hdfs将单个文件从Google云存储(GCS)复制到HDFS复制命令。请注意,您需要从集群中的一个节点运行它:hdfsdfs-cpgs:///这是有效的,因为hdfs://是默认的文件系统。如果需要,您可以显式指定方案和NameNode:hdfsdfs-cpgs:///hdfs:///请注意,GCS对象使用gs:方案。路径应与使用gsutil时的路径相同.对于“大”文件或大文件目录当您

hadoop - HDFS block 拆分

我的Hadoop知识只有4周。我正在使用带有Hadoop的沙箱。根据理论,当一个文件被复制到HDFS文件系统时,它会被分割成128MB的block。然后每个block将被复制到不同的数据节点,然后复制到数据节点。问题:当我将数据文件(~500MB)从本地文件系统复制到HDFS(put命令)时,整个文件仍然存在于HDFS(-ls命令)中。我期待看到128MBblock。我在这里做错了什么?如果假设,我设法在HDFS中拆分和分发数据文件,有没有办法合并原始文件并将其检索回本地文件系统? 最佳答案 您不会看到来自-ls命令的各个block

hadoop - 将数据传入和传出 Elastic MapReduce HDFS

我编写了一个Hadoop程序,它需要在HDFS中进行特定布局,然后我需要从HDFS中获取文件。它在我的单节点Hadoop设置上运行,我渴望让它在ElasticMapReduce中的10个节点上运行。我一直在做的是这样的:./elastic-mapreduce--create--aliveJOBID="j-XXX"#outputfromcreation./elastic-mapreduce-j$JOBID--ssh"hadoopfs-cps3://bucket-id/XXX/XXX"./elastic-mapreduce-j$JOBID--jars3://bucket-id/jars/h

hadoop - 定位 Cloudera Manager HDFS 配置文件

我已经通过ClouderaManager安装了一个集群,现在我需要手动启动集群。我一直在使用以下命令:$sudo-uhdfshadoopnamenode/datanode/jobtracker但是dfs.name.dir被设置为/tmp。我似乎找不到cloudera管理器在哪里有HDFS配置文件。/usr/lib/hadoop-02*/conf中的那些似乎是最小的。他们缺少dfs.name.dir,这是我特别要找的。顺便说一下,我在RHLE6系统上。由于懒惰,我虽然可以只复制cloudera管理器的HDFS配置文件,所以我不必手动创建它们,将它们复制到6个节点:)谢谢

hadoop - HBase 集群在 HDFS 上有损坏的区域文件

我们有这个HBase集群:30多个节点、48个表、40TB以上的HDFS级别、复制因子2。由于两个节点上的磁盘故障,我们在HDFS上有一个损坏的文件。当前HDFS状态hdfsfsck/输出的摘录,显示损坏的HBase区域文件:/user/hbase/table_foo_bar/295cff9c67379c1204a6ddd15808af0b/n/ae0fdf7d0fa24ad1914ca934d3493e56:CORRUPTblockpoolBP-323062689-192.168.12.45-1357244568924blockblk_9209554458788732793/user