草庐IT

hdfs_clusters

全部标签

hadoop - Hadoop 中 HDFS 以外的文件系统如何使用数据局部性?

我们知道Hadoop使用数据局部性原则来生成map-reduce作业以节省网络带宽。以下是其工作原理的描述:取自:http://hadoop-gyan.blogspot.in/Hadooptriesitsbesttorunmaptasksonnodeswherethedataispresentlocallytooptimizeonthenetworkandinter-nodecommunicationlatency.Astheinputdataissplitintopiecesandfedtodifferentmaptasks,itisdesirabletohaveallthedata

hadoop - 我们可以将关系数据存储在hdfs中吗

我正在尝试转换将关系数据库作为后端的应用程序。我也可以将数据关联存储在HDFS中吗? 最佳答案 只是为了存储,您可以在HDFS中存储任何内容。但这没有任何意义。首先,您不应该将Hadoop视为RDBMS的替代品(您在这里尝试这样做)。两者都用于完全不同的目的。Hadoop不太适合您的事务性、关系性或实时类型的需求。它旨在满足您的离线批处理需求。因此,最好正确分析您的用例,然后卡住您的决定。作为建议,我想向您指出Hive.它为您提供基于现有Hadoop集群的仓储功能。它还为您的仓库提供了一个类似于SQL的接口(interface),如

hadoop - 从 hdfs 恢复已删除的数据

我们有一个Hadoop集群v1.2.1。我们错误地删除了一个hdfs文件夹,但我们立即关闭了集群。有什么办法可以取回我们的数据吗?就算能取回一部分数据,也比没有强!由于数据量太大,很可能已经删除了一些数据。感谢您的帮助。 最佳答案 如果你设置了fs.trash.interval>1,这可能是一个简单的修复。如果这是真的,HDFS的垃圾选项被启用,你的文件应该位于垃圾目录.默认情况下,此目录位于/user/X/.Trash。否则,您最好的选择可能是查找并使用数据恢复工具。一些快速的谷歌搜索发现这个跨平台工具在GNU许可下可用,它可以从

authentication - 从 Spark 访问 Hdfs 会出现 token 缓存错误 Can't get Master Kerberos principal for use as renewer

我正在尝试运行测试Spark脚本以将Spark连接到hadoop。脚本如下frompysparkimportSparkContextsc=SparkContext("local","SimpleApp")file=sc.textFile("hdfs://hadoop_node.place:9000/errs.txt")errors=file.filter(lambdaline:"ERROR"inline)errors.count()当我用pyspark运行它时,我得到了py4j.protocol.Py4JJavaError:Anerroroccurredwhilecallingo21.

apache-spark - 有关 yarn-cluster 模式下 Spark 驱动程序(及其 YARN 容器)的故障转移过程如何工作的资源/文档

我试图了解在以集群模式部署Yarn时,SparkDriver是否是单点故障。因此,我想在这种情况下更好地了解有关SparkDriver的YARN容器的故障转移过程的内部结构。我知道Spark驱动程序将在Yarn容器内的SparkApplicationMaster中运行。如果需要,SparkApplicationMaster将向YARNResourceManager请求资源。但是我还没有找到足够详细的文档来说明在SparkApplicationMaster(和Spark驱动程序)的YARN容器发生故障时的故障转移过程。我试图找到一些详细的资源,这些资源可以让我回答与以下场景相关的一些问题

java - Hadoop 如何获取没有存储在 HDFS 上的输入数据?

我正试着全神贯注于Hadoop并阅读thisexcellenttutorial以及仔细阅读officialHadoopdocs.然而,在这些文献中我都找不到对一些非常基本的东西的简单解释:在所有设计的“HelloWorld!”(字数统计)介绍性MR示例中,输入数据直接存储在文本文件中。但是,对我来说,感觉在现实世界中很少会出现这种情况。我会想象,在现实中,输入数据将存在于大型数据存储中,例如关系数据库、Mongo、Cassandra,或者只能通过RESTAPI等访问。所以我想问:在现实世界中,Hadoop是如何获取其输入数据的?我确实看到有类似Sqoop的项目和Flume并且想知道这些

hadoop - "Client"对 Hadoop/HDFS 到底意味着什么?

我理解其背后的一般概念,但我希望对什么是“客户”有更多的说明和明确的定义。比如我只是在Terminal上写一个hdfs命令,它还是“客户端”吗? 最佳答案 Client在Hadoop中是指用来与Hadoop文件系统进行通信的接口(interface)。Hadoop提供不同类型的客户端来执行不同的任务。基本文件系统客户端hdfsdfs用于连接到Hadoop文件系统并执行基本文件相关任务。它使用ClientProtocol与NameNode守护进程通信,并直接连接到DataNodes以读/写block数据。要在HDFS上执行管理任务,可

hadoop - 如何通过在外部hadoop集群的Spark中由H/A名称节点组成的URI访问hdfs?

现在我有一些将输出存储到HDFS的Spark应用程序。由于我们的hadoop集群由namenodeH/A组成,而spark集群在hadoop集群之外(我知道这是不好的)我需要为应用程序指定HDFSURI,以便它可以访问HDFS。但是它不识别名字服务,所以我只能给一个namenode的URI,如果失败,修改配置文件再试。访问Zookeeper以显示事件似乎很烦人,所以我想避免。您能推荐任何替代方案吗? 最佳答案 假设您的名称服务是“hadooptest”,然后像下面这样设置hadoop配置。您可以从远程启用HA的HDFS的hdfs-s

hadoop - 是否可以在 hadoop 中将映射器的一部分发送到 reducer,而仅将另一部分写入 HDFS?

我想将部分映射器输出写入一个文件夹,比如HDFS中的文件夹A。输出的另一部分,我希望它由reducer处理。这可能吗?我知道多个输出。这可能使用多个输出吗?谢谢! 最佳答案 是的,可以使用MultipleOutputs,根据文档,在map阶段通过MultipleOutputs传递的任何输出都会被reducer忽略,所以这正是您想要的。我在myGitHub上写了一个小例子我希望你会发现它很有用。 关于hadoop-是否可以在hadoop中将映射器的一部分发送到reducer,而仅将另一部分

hadoop - 将文件分区为日期从 kafka 写入 hdfs 的最有效方法是什么

我正在研究应该通过kafka写入hdfs的项目。假设有在线服务器将消息写入kafka。每条消息都包含时间戳。我想根据消息中的时间戳创建一个输出将是一个文件的作业。比如kafka中的数据是{"ts":"01-07-201315:25:35.994","data":...}...{"ts":"01-07-201316:25:35.994","data":...}...{"ts":"01-07-201317:25:35.994","data":...}我想得到3个文件作为输出kafka_file_2013-07-01_15.jsonkafka_file_2013-07-01_16.jsonk