草庐IT

hdfs_clusters

全部标签

hadoop - 是否可以从多个客户端并行附加到 HDFS 文件?

基本上整个问题都在标题中。我想知道是否可以同时从多台计算机追加到位于HDFS上的文件?类似于存储多个进程不断产生的事件流。顺序并不重要。我记得在一次Google技术演示中听说GFS支持此类附加功能,但尝试使用HDFS(使用常规文件append()或使用SequenceFile)进行一些有限测试似乎不起作用。谢谢, 最佳答案 我认为这对于HDFS是不可能的。即使您不关心记录的顺序,您也关心文件中字节的顺序。您不希望写入器A写入部分记录,然后被写入器B损坏。这是HDFS自己解决的难题,因此它不会。为每个作者创建一个文件。将所有文件传递给

hadoop - 序列文件相对于 hdfs 文本文件的优势

Hadoop序列文件相对于HDFS平面文件(文本)有什么优势?序列文件以什么方式有效?可以将小文件合并写入序列文件,HDFS文本文件也可以这样做。需要知道这两种方式的区别。我已经在谷歌上搜索了一段时间,如果我弄清楚这一点会有帮助吗? 最佳答案 序列文件适用于您要存储键及其对应值的情况。对于文本文件,您可以这样做,但您必须解析每一行。可以压缩并且仍然可以拆分,这意味着更好的工作量。除非使用可拆分的压缩格式,否则无法拆分压缩的文本文件。可以作为二进制文件处理=>存储效率更高。在文本文件中,double将是多个字符=>大存储开销。

hadoop - hdfs dfs - 覆盖?

我正在使用hdfsdfs-putmyfilemypath对于我得到的一些文件put:'myfile':FileExists这是否意味着存在同名文件或已经存在完全相同的文件(大小、内容)?如何在此处指定-overwrite选项?谢谢! 最佳答案 put:'myfile':文件存在意思是,名为“myfile”的文件已经存在于hdfs中。hdfs中不能有多个同名文件您可以使用hadoopfs-put-f/path_to_local/path_to_hdfs覆盖它 关于hadoop-hdfsdf

hadoop - 查找 HDFS 监听的端口号

我想访问具有完全限定名称的hdfs,例如:hadoopfs-lshdfs://machine-name:8020/user我也可以简单地访问hdfshadoopfs-ls/user但是,我正在编写应该适用于不同发行版(HDP、Cloudera、MapR等)的测试用例,其中涉及访问具有限定名称的hdfs文件。我了解hdfs://machine-name:8020在core-site.xml中定义为fs.default.name。但这在不同的发行版上似乎有所不同。比如hdfs就是MapR上的maprfs。IBMBigInsights在$HADOOP_HOME/conf中甚至没有core-s

amazon-s3 - 如何将文件从 S3 复制到 Amazon EMR HDFS?

我在EMR上运行hive,并需要将一些文件复制到所有EMR实例。据我所知,一种方法是将文件复制到每个节点上的本地文件系统,另一种方法是将文件复制到HDFS,但是我还没有找到直接从S3复制到HDFS的简单方法。解决这个问题的最佳方法是什么? 最佳答案 最好的方法是使用Hadoop的distcp命令。示例(在其中一个集群节点上):%${HADOOP_HOME}/bin/hadoopdistcps3n://mybucket/myfile/root/myfile这会将名为myfile的文件从名为mybucket的S3存储桶复制到HDFS中的

hadoop - 租期过期异常 : No lease error on HDFS

我正在尝试将大数据加载到HDFS,但有时会出现以下错误。知道为什么吗?错误:org.apache.hadoop.ipc.RemoteException:org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException:Noleaseon/data/work/20110926-134514/_temporary/_attempt_201109110407_0167_r_000026_0/hbase/site=3815120/day=20110925/107-107-3815120-20110926-134514-r-00026Fil

hadoop - 在hdfs hadoop中查看文件内容

可能是一个菜鸟问题,但是除了复制到本地并通过unix读取之外,还有其他方法可以读取hdfs中的文件内容吗?所以现在我正在做的是:bin/hadoopdfs-copyToLocalhdfs/pathlocal/pathnanolocal/path我想知道是否可以直接将文件打开到hdfs,而不是将其复制到本地然后再打开。 最佳答案 我相信hadoopfs-cat应该完成这项工作。 关于hadoop-在hdfshadoop中查看文件内容,我们在StackOverflow上找到一个类似的问题:

shell - 如何只列出HDFS中的文件名

我想知道是否有任何命令/表达式可以只获取hadoop中的文件名。我只需要获取文件名,当我执行hadoopfs-ls时,它会打印整个路径。我在下面尝试过,但只是想知道是否有更好的方法。hadoopfs-ls|cut-d''-f17 最佳答案 以下命令将只返回文件名:hdfsdfs-stat"%n"my/path/*:添加于2021年2月4日其实最近几年我都在用hdfsdfs-ls-d我的/路径/*|awk'{print$8}'和hdfsdfs-ls我的/路径|grep-e"^-"|awk'{print$8}'

hadoop - 如何查找 HDFS 文件的大小

如何找到HDFS文件的大小?应该使用什么命令来查找HDFS中任何文件的大小。 最佳答案 我也发现自己在使用hadoopfs-dus好的折扣。例如,如果HDFS上名为“/user/frylock/input”的目录包含100个文件,并且您需要可以运行的所有这些文件的总大小:hadoopfs-dus/user/frylock/input您会得到“/user/frylock/input”目录中所有文件的总大小(以字节为单位)。此外,请记住,HDFS以冗余方式存储数据,因此文件实际使用的物理存储空间可能是hadoopfs-ls报告的空间的3

hadoop - 当应用程序 jar 在 hdfs 中时,Spark-submit 不起作用

我正在尝试使用bin/spark-submit运行一个spark应用程序。当我在我的本地文件系统中引用我的应用程序jar时,它可以工作。但是,当我将应用程序jar复制到hdfs中的目录时,出现以下异常:Warning:Skipremotejarhdfs://localhost:9000/user/hdfs/jars/simple-project-1.0-SNAPSHOT.jar.java.lang.ClassNotFoundException:com.example.SimpleApp命令如下:$./bin/spark-submit--classcom.example.SimpleAp