hdfs相关内容
这是一个涉及 Hadoop/HDFS 的概念性问题.假设您有一个包含 10 亿行的文件.并且为了简单起见,让我们考虑每一行的形式 其中 k 是该行从开头的偏移量,value 是该行的内容. 现在,当我们说要运行 N 个 map 任务时,框架是否将输入文件拆分为 N 个拆分并在该拆分上运行每个 map 任务?或者我们是否必须编写一个分区函数来执行 N 个拆分并在生成的拆分上运行每个
..
当我设置 hadoop 集群时,我读到 namenode 在 50070 上运行,我进行了相应的设置,它运行良好. 但在一些书中我遇到过名称节点地址: hdfs://localhost:9000/ 或 hdfs://localhost:8020 设置namenode端口的正确数字是多少? 解决方案 默认的Hadoop端口如下:(HTTP端口,有WEB UI): 守护进程默认
..
HDFS/Hadoop 的默认数据块大小为 64MB.磁盘中的块大小一般为4KB. 64MB 块大小是什么意思?->是不是说从磁盘读取的最小单位是64MB? 如果是,那么这样做有什么好处?->HDFS中大文件的连续访问容易吗? 我们可以通过使用磁盘中原始的 4KB 块大小来做同样的事情吗? 解决方案 64MB 块大小是什么意思? 块大小是文件系统可以存储的最小数
..
我在伪分布式模式下使用 Hadoop,一切正常.但是后来由于某种原因我不得不重新启动计算机.现在,当我尝试启动 Namenode 和 Datanode 时,我只能找到运行的 Datanode.谁能告诉我这个问题的可能原因?还是我做错了什么? 我尝试了 bin/start-all.sh 和 bin/start-dfs.sh. 解决方案 我遇到了 namenode 无法启动的问题.我使用
..
当我尝试运行我的工作时,出现以下异常: 线程“main"中的异常 java.io.IOException: Mkdirs failed to create/some/path在 org.apache.hadoop.util.RunJar.ensureDirectory(RunJar.java:106)在 org.apache.hadoop.util.RunJar.main(RunJar.java
..
这是我的问题:我在 HDFS 中有一个文件,该文件可能很大(=不足以容纳所有内存) 我想做的是避免将这个文件缓存在内存中,只像处理普通文件一样逐行处理它: for line in open("myfile", "r"):# 做一些处理 我想看看是否有一种简单的方法可以在不使用外部库的情况下完成这项工作.我可能可以使用 libpyhdfs 或 python-hdfs 但如果可能的话,我希
..
有人如何修复损坏的 HDFS?我查看了 Apache/Hadoop 网站,它说它的 fsck 命令,它没有修复它.希望之前遇到过这个问题的人可以告诉我如何解决这个问题. 与用于本机文件系统的传统 fsck 实用程序不同,此命令不会纠正它检测到的错误.通常 NameNode 会自动纠正大部分可恢复的故障. 当我运行 bin/hadoop fsck/-delete 时,它列出了损坏或丢失块
..
root# bin/hadoop fs -mkdir tmkdir: org.apache.hadoop.hdfs.server.namenode.SafeModeException: 无法创建目录/user/root/t.名称节点处于安全模式. 无法在 hdfs 中创建任何内容 我做到了 root# bin/hadoop fs -safemode leave 但是显示 安全模式:未
..
根据Hadoop - 权威指南 FileInputFormats 定义的逻辑记录通常不能整齐地放入 HDFS 块中.例如,TextInputFormat 的逻辑记录是行,通常会跨越 HDFS 边界.这与您的程序的功能无关——例如,线路不会丢失或损坏——但值得了解,因为它确实意味着数据本地映射(即,与其运行在同一主机上的映射)输入数据)将执行一些远程读取.这导致的轻微开销通常并不显着.
..
我需要通过 Java API 从远程桌面使用 HDFS 集群.在写入访问权限之前,一切正常.如果我尝试创建任何文件,我会收到访问权限异常.路径看起来不错,但异常表明我的远程桌面用户名当然不是我访问所需 HDFS 目录所需的名称. 问题是:- 有没有办法在 Java API 中使用“简单"身份验证来表示不同的用户名?- 您能否用 Java API 示例对 hadoop/HDFS 中的身份验证/
..
在 Map Reduce 编程中,reduce 阶段将 shuffle、排序和 reduce 作为其子部分.排序是一件代价高昂的事情. Map Reduce Programming中reducer中shuffle和排序阶段的目的是什么? 解决方案 首先shuffling是将数据从mapper传输到reducer的过程,所以我觉得很明显减速器所必需的,否则,它们将无法获得任何输入(或来
..
我是 hadoop 分布式文件系统的新手,我已经在我的机器上完成了 hadoop 单节点的完整安装.但是之后,当我将数据上传到 hdfs 时,它给出了一条错误消息 Permission Denied. 来自终端的命令消息: hduser@ubuntu:/usr/local/hadoop$ hadoop fs -put/usr/local/input-data//input放置:/usr/l
..
出于结帐目的,我尝试将 Amazon S3 存储桶设置为检查点文件. val checkpointDir = "s3a://bucket-name/checkpoint.txt"val sc = 新的 SparkContext(conf)sc.setLocalProperty("spark.default.parallelism", "30")sc.hadoopConfiguration.set
..
我已经建立了一个多节点的 Hadoop 集群.NameNode和Secondary namenode运行在同一台机器上,集群只有一个Datanode.所有节点都配置在 Amazon EC2 机器上. 以下是master节点上的配置文件: 大师54.68.218.192(主节点公网IP)奴隶54.68.169.62(从节点公网IP) core-site.xml fs.
..
我想在 HDFS 中创建一个文件并在其中写入数据.我使用了这个代码: Configuration config = new Configuration();FileSystem fs = FileSystem.get(config);路径文件名路径 = 新路径("input.txt");尝试 {如果(fs.exists(文件名路径)){fs.delete(filenamePath, true);
..
我有以下问题:假设我有一个包含压缩目录的目录,其中包含存储在 HDFS 上的多个文件.我想创建一个包含一些 T 类型对象的 RDD,即: context = new JavaSparkContext(conf);JavaPairRDDfilesRDD = context.wholeTextFiles(inputDataPath);JavaPairRDDfilesRDD = context.who
..
我正在尝试了解 HBase 架构.我可以看到两个不同的术语用于同一目的. Write Ahead Logs 和 Memstore,两者都用于存储尚未持久化到永久存储的新数据.> WAL 和 MemStore 有什么区别? 更新: WAL - 用于在服务器崩溃时恢复尚未持久化的数据.MemStore - 将更新存储在内存中作为排序的键值. 在将数据写入磁盘之前,似乎有很多重
..
我的 Hadoop 应用程序遇到了一些问题. 每当我的客户端在没有关闭文件的情况下退出时(例如由于崩溃),Hadoop 中就会有从未关闭的打开文件. 当我尝试重新启动客户端时,它在重新打开这些文件以追加数据时失败.(异常信息见下文) 是否有手动关闭这些文件的好方法,或者更好的方法,即在重新打开它们之前直接检查并关闭它们? 我使用的是 Cloudera CDH5 (2.3.0
..
有什么方法可以像复制文件一样从命令行追加到 HDFS 上的文件: hadoop fs -copyFromLocal URI 解决方案 此功能在 Hadoop 2.3.0 中实现为 appendToFile 语法如下: hdfs dfs -appendToFile localfile/user/hadoop/hadoopfile (这是在 2009 年考虑 HDFS Append 功能时首
..
让我们假设一个使用默认块大小(128 MB),并且有一个使用 130 MB 的文件;所以使用一个完整大小的块和一个 2 MB 的块.然后需要将 20 MB 附加到文件中(现在总共应该是 150 MB).会发生什么? HDFS 是否真的将最后一个块的大小从 2MB 调整为 22MB?或者创建一个新块? 追加到 HDFS 中的文件如何处理并发?是否有数据丢失的风险? HDFS 是否创
..