草庐IT

hdfs_clusters

全部标签

hadoop - 有没有办法为 HDFS 中的某些目录设置 TTL?

我有以下要求。我正在将日期数据添加到HDFS中的特定目录,我需要保留最后3组的备份,并删除其余的。有没有办法为目录设置一个TTL,以便数据在一定天数后自动消失?如果没有,有没有办法达到类似的结果? 最佳答案 此功能在HDFS上尚不可用。创建了一个JIRA票证来支持此功能:https://issues.apache.org/jira/browse/HDFS-6382但是,修复尚不可用。您需要使用cron作业来处理它。您可以创建一个作业(这可以是一个简单的Shell、Perl或Python脚本),它会定期删除早于特定预配置时间段的数据。

java - 如何在映射器的 hdfs 中加载 SR 解析器文件?

我正在尝试在mapreduce程序中使用CoreNLP项目来查找存储在hbase表中的大量文本的情绪。我正在使用SR解析器进行解析。模型文件存储在/user/root/englishSR.ser.gz的hdfs中。我在mapreduce应用程序代码中添加了以下行job.addCacheFile(newURI("/user/root/englishSR.ser.gz#model"));现在在映射器中props.setProperty("parse.model","./model");我收到edu.stanford.nlp.io.RuntimeIOException:java.io.Str

user-interface - 从 Hadoop Web UI 将文件添加到 HDFS

有什么方法可以使用WebUI在HDFS中添加文件。关于http://localhost:50070/或者在其他一些url。有没有这样的东西? 最佳答案 没有。Web界面没有添加文件的功能。但是你可以退房HUE或AmbariwithFilesView. 关于user-interface-从HadoopWebUI将文件添加到HDFS,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/40

java - 从远程 HDFS 读取文件

我正在尝试从远程HDFS系统读取文件并显示在本地计算机的控制台中。请注意,本地计算机只能通过.pem文件形式的SSHkey与任何HDFS节点建立连接。当我执行下面显示的代码时,程序运行,保持空闲一段时间并最终显示:BlockMissingException:Couldnotobtainblock我的代码:try{UserGroupInformationugi=UserGroupInformation.createRemoteUser("remoteUser");ugi.doAs(newPrivilegedExceptionAction(){publicVoidrun()throwsEx

python - 从 Python 检查 HDFS 中是否存在文件

因此,我一直在使用Python中的fabric包为各种HDFS任务运行shell脚本。但是,每当我运行任务来检查HDFS中是否已经存在文件/目录时,它只会退出shell。这是一个示例(我使用的是Python3.5.2和Fabric3==1.12.post1)fromfabric.apiimportlocallocal('hadoopfs-stathdfs://some/nonexistent/hdfs/dir/')如果目录不存在,则此代码产生[localhost]local:hadoopfs-stathdfs://some/nonexistent/hdfs/dir/stat:`hdfs

hadoop - 在 Kerberized 集群中读取 Spark 应用程序中的 HDFS 文件

我使用HortonworksDataPlatform2.5设置了一个Hadoop集群,其中还包括Ambari2.4、Kerberos、Spark1.6.2和HDFS。我有例如以下用户的Kerberos主体和key表:spark(由Ambari在启用Kerberos期间创建)hdfsuserA(由kadmin创建->add_principle)需要用户spark在安全集群中运行spark-submit命令,Spark应用程序必须打开HDFS目录/user/中的一些文件hdfsuserA/...,由hdfsuserA(700)所有。由于我启用了Kerberos,我的Spark应用程序将不再

hadoop - 重组 HDFS 中的文件

我需要移动由Hive作业编写的文件,如下所示/foo/0000_0/foo/0000_1/bar/0000_0变成这样的文件结构/foo/prefix1/prefix2-0000_0/foo/prefix1/prefix2-0000_1/bar/prefix1/prefix2-0000_0在将其迁移出集群之前(使用s3distcp)。我一直在寻找hadoopfs,但我找不到能让我这样做的东西。我不想逐个文件重命名。 最佳答案 首先,您需要在/foo中创建子目录。为此使用以下命令$hdfsdfs-mkdir/foo/prefix1这将

hadoop - HDFS 与 HIVE 分区

这可能是一件简单的事情,但我正在努力寻找答案。当数据加载到HDFS时,其分布并加载到多个节点中。数据被分区和分布。对于HIVE,有一个单独的选项来对数据进行分区。我很确定,即使您没有提及PARTITION选项,在加载配置单元表时,数据也会被拆分并分发到集群上的不同节点。在这种情况下,此命令有什么额外好处。 最佳答案 总结评论和Hadoopv1-v2.x:逻辑分区,例如。与字符串中的日期或字段相关,如上面的评论中所写,只能在hive、hcat或在hadoop之上工作的另一个sql或并行引擎中使用支持分区的文件格式(Parquet、OR

ssh - 如何通过 java 的 hdfs 协议(protocol)访问 hadoop?

我找到了一种通过hftp连接到hadoop的方法,它工作正常,(只读):uri="hftp://172.16.xxx.xxx:50070/";System.out.println("uri:"+uri);Configurationconf=newConfiguration();FileSystemfs=FileSystem.get(URI.create(uri),conf);fs.printStatistics();但是,我想读/写以及复制文件,也就是说,我想通过hdfs连接。如何启用hdfs连接以便我可以编辑实际的远程文件系统?我试图从hftp->hdfs更改上面的协议(protoc

hadoop - 将包含 ® 和 © 等字符的数据从 Oracle 加载到 HDFS 时出现问题 - Hadoop 分布式文件系统

我正在使用ClouderaSqoop将数据从Oracle数据库提取到HDFS。除了®和©之类的一些字符在HDFS中被转换为®©之外,一切都很好。(但是在Oracle中,数据存储没有任何问题)。有什么办法可以将这些字符按原样存储在HDFS中吗?Sqoop版本:1.3谢谢,卡尔西凯亚 最佳答案 您在Oracle数据库中使用哪种格式的字符?由于Hadoop使用的是UTF-8格式,不同的数据需要从Oracle数据库转换过来。 关于hadoop-将包含®和©等字符的数据从Oracle加载到HDFS