与我的其他问题有关,但有所不同:
someMap.saveAsTextFile("hdfs://HOST:PORT/out")
Run Code Online (Sandbox Code Playgroud)
如果我将RDD保存到HDFS,如何通过gzip告诉spark压缩输出?在Hadoop中,可以设置
mapred.output.compress = true
Run Code Online (Sandbox Code Playgroud)
并选择压缩算法
mapred.output.compression.codec = <<classname of compression codec>>
Run Code Online (Sandbox Code Playgroud)
我如何在火花中做到这一点?这会有效吗?
编辑:使用spark-0.7.2
这是我最近在Web UI上看到的
Configured Capacity : 232.5 GB
DFS Used : 112.44 GB
Non DFS Used : 119.46 GB
DFS Remaining : 613.88 MB
DFS Used% : 48.36 %
DFS Remaining% : 0.26 %
Run Code Online (Sandbox Code Playgroud)
而且我很困惑,非dfs Used占用了一半以上的容量,
我认为这意味着hadoop存储的一半被浪费了
在花费无意义的时间搜索之后,我只是格式化了namenode,并从头开始.
然后我从本地复制了一个巨大的文本文件(大约19千兆字节)到HDFS(成功).
现在用户界面说
Configured Capacity : 232.5 GB
DFS Used : 38.52 GB
Non DFS Used : 45.35 GB
DFS Remaining : 148.62 GB
DFS Used% : 16.57 %
DFS Remaining% : 63.92 %
Run Code Online (Sandbox Code Playgroud)
在复制之前,DFS Used和Non DFS Used都是0.
因为DFS Used大约是原始文本文件大小的两倍,我配置了2个副本,
我猜DFS Used由2份原始和元组成.
但是我仍然不知道非DFS使用的来源是什么,为什么这比DFS使用的占用了更多的容量.
发生了什么事?我弄错了吗?
我一直在使用Cloudera的hadoop(0.20.2).使用此版本,如果我将文件放入文件系统,但目录结构不存在,则会自动创建父目录:
例如,如果我在hdfs和typed中没有目录:
hadoop fs -put myfile.txt /some/non/existing/path/myfile.txt
它将创建所有目录:some,non,existing和path并将文件放在那里.
现在,随着更新的hadoop(2.2.0)产品的出现,这种自动创建的目录不会发生.上面的相同命令产生:
put:`/ some/non/existing/path /':没有这样的文件或目录
我有一个解决方法,首先只做hadoop fs -mkdir,每次放置,但这不会很好.
这是可配置的吗?有什么建议?
我正在研究hdfs,然后我发现了一些不为超级用户执行权限检查的东西.如果我的linux用户是沙地,我想要向超级用户群添加沙地.因此,不会发生权限被拒绝,在hdfs配置中这样做是否可行.如果将用户分配给超级组没有问题,那么该怎么做呢?
我已经为10节点集群安装并配置了Hadoop 2.5.2.1充当masternode,其他节点充当slavenode.
我在执行hadoop fs命令时遇到问题.hadoop fs -ls命令可以正常使用HDFS URI.它在没有HDFS URI的情况下使用时给出消息"ls:`.':没有这样的文件或目录"
ubuntu@101-master:~$ hadoop fs -ls
15/01/30 17:03:49 WARN util.NativeCodeLoader: Unable to load native-hadoop
ibrary for your platform... using builtin-java classes where applicable
ls: `.': No such file or directory
ubuntu@101-master:~$
Run Code Online (Sandbox Code Playgroud)
然而,使用HDFS URI执行相同的命令
ubuntu@101-master:~$ hadoop fs -ls hdfs://101-master:50000/
15/01/30 17:14:31 WARN util.NativeCodeLoader: Unable to load native-hadoop
library for your platform... using builtin-java classes where applicable
Found 3 items
drwxr-xr-x - ubuntu supergroup 0 2015-01-28 12:07 hdfs://101-master:50000/hvision-data
-rw-r--r-- 2 ubuntu supergroup 15512587 2015-01-28 11:50 hdfs://101-master:50000/testimage.seq …Run Code Online (Sandbox Code Playgroud) 是否有hdfs命令按时间戳,升序或降序列出HDFS目录中的文件?默认情况下,hdfs dfs -lscommand提供未排序的文件列表.
当我搜索答案时,我得到的是一种解决方法,即hdfs dfs -ls /tmp | sort -k6,7.但有没有更好的方法,内置hdfs dfs命令行?
基本上整个问题都在标题中.我想知道是否可以同时从多台计算机上附加到位于HDFS上的文件?类似于存储由多个进程不断产生的事件流的东西.订单并不重要.
我记得听过谷歌技术演示文稿之一,GFS支持这样的追加功能,但尝试使用HDFS进行一些有限的测试(使用常规文件追加()或使用SequenceFile)似乎不起作用.
谢谢,
Hadoop序列文件优于HDFS平面文件(文本)的优势是什么?Sequence文件以什么方式有效?
可以将小文件组合并写入序列文件,但也可以对HDFS文本文件执行相同的操作.需要知道这两种方式的区别.我已经谷歌搜索了一段时间,如果我明白这个会有帮助吗?
我试图这样做hdfs dfs -pwd,但该命令不存在.所以目前我诉诸干什么hdfs dfs -ls ..其次hdfs dfs -ls ../...
我也查看了命令列表,hdfs dfs但没有看到任何看起来很有希望的东西.
有没有更直接的方法来找到绝对路径?
yarn.scheduler.maximum-allocation-mb和之间有什么区别yarn.nodemanager.resource.memory-mb?
我看到了这两个,yarn-site.xml我在这里看到了解释.
yarn.scheduler.maximum-allocation-mb给出以下定义:RM中每个容器请求的最大分配,以MB为单位.高于此值的内存请求将抛出InvalidResourceRequestException. 这是否意味着仅在资源管理器上的内存请求受此值的限制?
并且yarn.nodemanager.resource.memory-mb给出了可以为容器分配的物理内存量(MB)的定义. 这是否意味着整个集群中所有容器的总量总和在一起?
我还是无法辨别这些.这些解释让我觉得它们是一样的.
更令人困惑的是,它们的默认值完全相同:8192 mb.我如何区分这些?谢谢.
hdfs ×10
hadoop ×9
apache-spark ×1
biginsights ×1
cloudera ×1
compression ×1
gfs ×1
hadoop-yarn ×1
linux ×1
put ×1
scala ×1
sequencefile ×1
uri ×1