使用Hadoop分区时出错

这就是我正在做的: public class MOPartition extends Partitioner<Text, Text> { public MOPartition() {} ... } 公共类MOPartition扩展了分区器{ 公共MOPartition(){} ... } 错误: java.lang.RuntimeException:java.lang.NoSuchMethodException: globalSort$MOPartition.()

Hadoop oozie如何处理依赖关系?

关于oozie 2.3共享库,我有几个问题: 目前,我在coordinator.properties中定义了共享库: oozie.use.system.libpath=true oozie.libpath=<hdfs_path> oozie.use.system.libpath=true 奥齐·利伯斯= 以下是我的问题: 当共享库复制到其他数据节点时,有多少数据节点将获得共享库 共享库是基于协调器作业中的wf数复制到其他数据节点,还是每个协调器作业只复制一次 将条目添加到ooz

Hadoop主程序无法使用不同的$Hadoop\u HOME启动从程序

在主程序中,$HADOOP\u HOME是/HOME/a/HADOOP,从程序的$HADOOP\u HOME是/HOME/b/HADOOP 在master中,当我尝试使用start all.sh时,主名称节点成功启动,但无法启动从属数据节点,并显示以下消息: b@192.068.0.2: bash: line 0: cd: /home/b/hadoop/libexec/..: No such file or directory b@192.068.0.2: bash: /home/b/hadoo

hadoop中的JBOD是什么?还有hadoop的COW?

hadoop新手,只需设置一个3 debian服务器集群进行实践 我在研究hadoop的最佳实践时发现: JBOD无RAID 文件系统:ext3、ext4、xfs——这些都不是您在zfs和btrfs中看到的那些花里胡哨的东西 所以我提出这些问题 无论我读到哪里,JBOD都比hadoop中的RAID好,最好的文件系统是xfs、ext3和ext4。除了文件系统的东西,这完全有道理为什么这些是最好的。。。如何实现这个JBOD?如果你自己做谷歌搜索,你会看到我的困惑,JBOD暗指一个线性附件或一堆磁盘

Hadoop 将数据从一个hbase表复制到另一个hbase表

我已经创建了一个表hivetest,它也在hbase中创建了名为“hbasetest”的表。现在,我想将“hbasetest”数据复制到具有相同模式的另一个hbase表(比如logdata)中。那么,有谁能帮助我在不使用配置单元的情况下如何将数据从“hbasetest”复制到“logdata”呢 CREATE TABLE hivetest(cookie string, timespent string, pageviews string, visit string, logdate string

为什么Hadoop不是一个实时平台

我刚开始学习Hadoop,并浏览了一些网站,我经常发现 “Hadoop不是一个实时平台”即使在这样的情况下也是如此 我搞砸了这件事,我真的无法理解。有人能帮我解释一下吗 谢谢大家,Hadoop最初是为批处理而设计的。这意味着,一次在输入中获取一个大型数据集,对其进行处理,然后编写一个大型输出。MapReduce的概念就是面向批处理而非实时的。但老实说,这只是Hadoop开始时的情况,现在您有很多机会以更实时的方式使用Hadoop 首先,我认为定义实时是很重要的。可能是您对流处理感兴趣,也可能是您

Hadoop HDFS短路读取

根据,短路读取速度更快,因为它们不会通过数据节点。如果是这样的话 为什么默认情况下不启用此功能 在哪些情况下,我们需要短路读数 看看这篇文章: 文章摘要: 原始实现的一个主要缺点是它会带来安全隐患。它必须让客户直接读取数据文件。我想这对启用kerberos的HDF是不好的 新的实现将传递一个文件描述符,这应该更安全、更快 我想旧方法有一些缺点。我看不出新方法的缺点是什么。我无法找到新方法出现在哪个版本的Hadoop中的确切答案。好问题。我不知道为什么默认情况下它没有启用。我从未遇到过短路是件坏事

Hadoop Mapreduce多重贴图和红色提示器

我正在考虑使用MapReduce处理CSV文件,每个文件的大小约为1MB,MapReduce包含以下数据 lat , lng 18.123, 77.312 18.434,77,456 18,654,77,483 .... .... 我想让mapper和reducer依赖于输入文件的数量 fil1->map1->redcuer1-<output1 fil2->map2->redcuer2-<output2 ..... .... 在Mapper中

Hadoop 关于map-reduce的概念问题

我读了很多关于Map Reduce的书,我有以下问题似乎找不到答案: 每个人都指向单词计数的例子。但是,为什么我们需要map-reduce范式来构建一个用于词数统计的大型语料库呢?我不知道让一台机器从一个巨大的数据流中读取数据,并在内存中维护单词计数,这比让多台连接的机器将计数任务彼此分离并再次聚合更糟糕。最后,在最后,仍然会有一个地方保持所有计数,对吗 绘图机和减速机在物理上是否不同?或者映射和还原可以在同一台机器上进行吗 假设我的流是以下三句话: 因此,字数映射器将生成键值对,如下所示:

Hadoop sqoop从sql server导入到hdfs时挂起

我正在尝试从Sql server导入数据,在下面的消息之后,Sqoop命令挂起。我已经测试了连接性,我可以做列表数据库、表甚至select语句,但当它将数据写入/导入hdfs时失败。你能告诉我你对解决这个问题的建议吗 此消息后挂起: 14/04/16 17:53:36 WARN mapred.YARNRunner: Usage of -Djava.library.path in mapreduce.admin.reduce.child.java.opts can cause programs

Hadoop travis ci上的最小群集权限问题

我正在尝试对一个小型集群运行一个作业,我从travis CI开始。我当前遇到以下错误: java.io.IOException: Error Reading IndexFile at org.apache.hadoop.mapred.IndexCache.readIndexFileToCache(IndexCache.java:113) at org.apache.hadoop.mapred.IndexCache.getIndexInformation(IndexCache.ja

无法启动NFS网关-Hadoop

我无法在Cloudera中启动NFS网关。它给了我一个错误Supervisor返回致命错误。请检查角色日志文件、stderr或stdout 但我在stdout能观察到的唯一奇怪的事情是 socket.error: [Errno 111] Connection refused + '[' 1 -ne 0 ']' + echo 'Cannot connect to port 111.' + return 1 + '[' 1 -eq 1 ']' + echo 'No portmap or rpcbin

Hadoop 配置单元直方图\u数值函数输出无效字符

我正在使用hive的直方图数值函数,我想将我的select查询输出到文件。 然而,我在文件中得到了无效字符,我不能用它来绘制数据 这是我的密码: INSERT OVERWRITE LOCAL DIRECTORY '/home/cloudera/queries/histograms/q1' ROW FORMAT DELIMITED FIELDS TERMIN

Hadoop HPROF配置文件。配置文件位置

我正在Cloudera quick start VM上测试HPROF,但找不到应该生成的.profile。我正在运行以下程序: hadoop jar ../lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar wordcount -Dmapreduce.task.profile=true -Dmapreduce.task.profile.params=-agentlib:hprof=cpu=samples,heap=sites,force=n,th

Hadoop Cloudera虚拟机的执行时间

我使用标准配置的ClouderaVM,当我执行预定义的示例时,执行时间相当长。是否要设置任何配置以提高执行时间?尝试向VM添加更多内存和CPU内核 你能说得更具体一点吗:你在运行什么/如何运行的示例?你说的很长是什么意思?我有一台macbook pro(Intel Core i5,8GB RAM),我使用的是Oracle VM VirtualBox,Linux 2.6/3.x(64位),5013 MB RAM,1个CPU。例如,“UpperText(示例)”(Pig示例)的执行时间约为2分钟。H

Hadoop 使用Pig加载默认转储文件

以下查询需要使用哪个PigStorage()加载文件 INSERT OVERWRITE DIRECTORY 'doop' select a.* from cdr.cell_tower_info 上述查询的输出如下所示 哈里亚纳·安巴拉404 20 80 37591 76.76746 30.373488 404-20-80-37591 哈里亚纳·安巴拉404 20 80 30021 76.76746 30.373488 404-20-80-30021 哈里亚纳·安巴拉404 20 80 375

Hadoop 使用storm hdfs连接器将数据写入hdfs

storm hdfs连接器的源代码,可用于将数据写入hdfs。 github url是: 有一种特殊的拓扑:HdfsFileTopology用于将“|”分隔的数据写入HDFS。 链接: 我对代码部分有疑问: Yaml yaml = new Yaml(); InputStream in = new FileInputStream(args[1]); Map<String, Object> yamlConf = (Map<String, Object

JobTracker UI未显示hadoop作业的进度

我正在单节点集群下测试我的MR作业。 安装mahout 9版本后,Mapreduce作业停止显示jobtracker中的进度。(不知道安装mahout后是否出现这种情况) 当我在hadoop集群中运行作业时,它不会像以前那样在job tacker UI中显示状态,并且控制台中显示的执行日志也不同(类似于mahout日志) 为什么会这样 提前感谢。您的作业可能正在使用。如果您的作业正在使用LocalJobRunner,您将在mapreduce作业输出中注意到mapred.LocalJobRunne

Hadoop 如何将数据从数据库A的配置单元表加载到数据库B的配置单元表中?

我需要将数据从一个配置单元数据库A的表加载到另一个配置单元数据库B的表中 这将是一个cron任务,定期执行。 请考虑下面的案例,让我知道如何做到这一点: 案例1:A和B在同一台服务器中。 案例2:A和B在不同的服务器中。您可以使用它来安排作业。 如果要将查询结果存储在配置单元中的表中,则 1.使用命令Create table.创建临时表的架构。。 2.执行以下命令INSERT OVERWRITE TABLE temp\u tablename SELECT*FROM TABLE\u name li

将Hadoop 2.5.1本机库重新编译为32位

第一阶段:我已经在Ubuntu 14.04 64位上安装了Hadoop 2.6.0,我已经在伪分布式模式下启动了它,并运行了他们提供的示例程序。这里一切都好 第二阶段:我已经在3台运行Ubuntu 10.04 32位的计算机上安装了Hadoop 2.5.1。我已经启动了HDFS和Thread,我可以在web GUI中看到它们。但是当我尝试编译相同的测试程序时,我得到了以下结果: gcc test.c -I$HADOOP_HDFS_HOME/include -L/usr/lib/java/jdk1

在本地/远程Hadoop配置之间切换

有没有一种简单的方法可以在本地运行Hadoop作业和在远程集群上运行它们之间切换?我更喜欢在本地进行所有开发并通过命令行运行,更改参数或环境变量以在本地或远程集群上运行之间切换 在上下文中,我有一个安装了Hadoop的Linux虚拟机。我对Hadoop相当陌生,但可以在那里运行本地作业 相关问题:Hadoop配置有哪些好的文档 也许你可以研究hadoop的字数,在运行程序之前,你可以设置一些参数来补充你的工作 如下所示,在WordCount的main方法中,您可以设置这个参数来完成我自己添加的这

Hadoop 无法从我的还原程序中获取聚合值

我编写了MapReduce程序,根据关键字查找最上面的单词。我使用HashMap收集reducer输出,并进行了一些比较以获得顶级单词,最后使用cleanup方法打印输出。但当我看到结果时,它没有显示键中的聚合值 这是我的代码 所以,请在这方面帮助我,因为在过去的几天里,我一直在努力做好这件事 public class top5reduce extends Reducer<IntWritable,Text,IntWritable,Text> { Map<Integer,

Hadoop 用示例理解DataTorrent

我应该工作,并寻找文章/文件通过。我找不到关于什么是运算符、它们如何用于处理我们的数据以及运算符中使用的MALHAR库的详细文档(不确定此部分)。有人能通过推荐DataTorrent的参考资料来帮助我理解它吗 Malhar操作员开发人员指南: 如果您想开发一个连接器,在github上的“io”包下,您将看到我们现有的一系列连接器,您可以重新使用它们: 如果您对我们的Malhar库和开发连接器有任何疑问,请发送电子邮件至我们的电子邮件组:Malhar-users@googlegroups.com

Hadoop PySpark重新划分RDD元素

我有一个spark作业,它从Kafka流读取数据,并为流中的每个RDD执行一个操作。如果RDD不是空的,我想将RDD保存到HDFS,但我想为RDD中的每个元素创建一个文件。我找到了 RDD.saveAsTextFile(file_location) 将为每个分区创建一个文件,因此我尝试更改RDD,使每个分区只包含一个元素。这里有一个我正在尝试做的例子 data = sc.parallelize(['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']

Hadoop Ambari-配置单元视图F080错误

在Ambari的帮助下,我在运行CentOS6的3台计算机集群上安装了HDP2.2.0,在安装过程中没有出现错误。然后,我安装了配置单元视图(如上所述)和必要的Tez视图,但每当我尝试使用该视图进行查询(即使是简单的SHOW TABLES;)时,都会出现以下错误: F080 Error in creation /user/zenuser/hive/jobs/hive-job-7-2015-07-15_10-32... 到目前为止,我还没有发现任何东西,我也不知道在哪里可以存储更精确的日志。有

hadoop RecordReader如何识别记录

在处理文本文件时,hadoop如何识别记录? 它是基于换行符还是句号 如果我有一个5000字的文本文件列表,全部在一行上,用空格隔开;没有新行字符、逗号或句号。RecordReader将如何表现 e、 g.abc pqr xyz lmn qwe rew poio kjkh ascd lkyg……您可以使用文本输入格式.record.delimiter在配置中设置分隔符 如果未提供,它将回退以基于以下之一拆分行:'\n'(LF)、'\r'(CR)或'\r\n'(CR+LF)。 因此,您的示例行将作

Hadoop 无沙盒的Apache Kylin安装

我想知道是否有关于ApacheKylin安装的资源,而没有任何沙箱(如cloudera、hortonworks)支持。我已设法做到以下几点: 安装Hadoop 2.6 安装蜂箱 安装HBase 然后我使用了kylin站点的二进制文件,到目前为止,我已经能够运行它了。当我尝试构建一个立方体时,问题就开始了,MapReduce作业在步骤2中卡住了。我在想,它是否仍然假设处于沙箱模式,并且根本不向hadoop提交作业(hadoop jobtracker中没有条目) 因此,我需要解决这两个问题: 1.纯

Hadoop 如何使用PIG处理图像文件

共有100个不同颜色的图像文件。我希望获得基于颜色的唯一图像没有用于处理图像数据的内置Hadoop/Pig API 要使用Pig/MapReduce处理图像数据,请使用以下步骤: 将所有图像转换为序列文件 将此文件加载到HDFS中 在Pig中使用任何第三方库进行检测,如Haar Cascades作为UDF,或者在MapReduce程序中调用Java库。 获取图像的MD5SUM并删除重复内容请参阅本文: Key Value Image_file_id Image Con

Hadoop 如何在使用Google Cloud Dataproc启动的Spark集群中启用Snappy编解码器支持?

尝试从使用启动的Spark群集读取Snappy压缩序列文件时,我收到以下警告: java.lang.RuntimeException: native snappy library not available: this version of libhadoop was built without snappy support. 在这种情况下,启用Snappy编解码器支持的最佳方法是什么?我自己没有这样做,但应该解决您的问题: 为了安装和配置其他系统级组件,bdutil支持扩展机制。扩展的一个很

Hadoop PDI作业在资源管理器或作业历史记录服务器中不被视为Mapreduce作业

我正在使用Pentaho 5.4和EMR 3.4 当我在Pentaho中执行转换以将数据从Oracle DB复制到EMR上的HDFS时,我在Hadoop EMR集群的资源管理器中并没有看到任何MR作业 我是不是应该把他们看作乔布斯先生或潘塔霍先生只是复制而没有创造任何乔布斯先生 pentaho何时将使用Mapreduce处理数据?不确定您是否已经解决了这个问题,但您需要在KJB中使用pentaho Mapreduce组件: 然后,您可以定义映射器、组合器和缩减器转换,还可以定义NamedClus

与hive和sqoop相关的Hadoop安全配置

我正在使用sqoop-1.4.6将数据从MSSQL导入hadoop-2.7.1 使用sqoop本身,我可以成功地在MSSQL中列出表,这意味着它工作正常。但当我尝试导入hadoop时,出现了以下错误消息: ERROR tool.ImportTool: Encountered IOException running import job: org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /tmp/libjars/op

Hadoop多节点群集:异常:java.net.ConnectException:连接被拒绝

我使用http://pingax.com/install-apache-hadoop-ubuntu-cluster-setup/: 名称节点:node04 数据节点:node01 数据节点:node02 数据节点:node03 我只能看到集群中运行的两个节点(node01、node03)。Node02有一个日志,错误消息如下: 2015-12-11 10:15:18,698 INFO org.apache.hadoop.ipc.Client: Retrying connect to server

Hadoop 重新定义纱线.application.classpath值

我有一个Ubuntu14.04LTS和一个Hadoop2.4.0单节点集群。当我在控制台上执行warn classpath时,给出以下信息: /usr/local/hadoop/etc/hadoop:/usr/local/hadoop/etc/hadoop:/usr/local/hadoop/etc/hadoop:/usr/local/hadoop/share/hadoop/common/lib/*:/usr/local/hadoop/share/hadoop/common/*:/usr/loc

Hadoop 安装后无法访问Couldera Manager 5 web控制台

我正在CentOS 7机器上设置一个hadoop集群(2.6),该集群有三个节点,现在运行良好。但是,在完成CM安装后,我无法访问Cloudera manager(5.6)web控制台,尽管它的服务似乎正在运行 以下是我的发现,请帮助我可能的原因: 所有进程都已启动并正在运行 [root@vm-txxxxxx1 ~]# jps 27978 ResourceManager 15368 Main 27052 Jps 27400 DataNode 27639 SecondaryNameNode 281

Hadoop 防风雨螺栓不';我不能保证按接收顺序处理记录吗?

我有一个storm拓扑,它从kafka读取记录,提取记录中存在的时间戳,查找hbase表,应用业务逻辑,然后用当前记录中的最新值更新hbase表 我已经编写了一个扩展BaseRichBolt的自定义hbase bolt,其中的代码对hbase表进行查找,并对从kafka读取的消息应用一些业务逻辑,然后使用最新数据更新hbase表 我看到的问题是,有时,bolt会以混乱的顺序接收/处理记录,因此我的应用程序认为某个特定记录已经处理,而忽略该记录!!!由于此原因,应用程序未处理大量记录 例如: 假设

Hadoop 使用子查询连接配置单元中的两个表

我需要在特定的日期和时间得到一件物品的成本。我有两张桌子: 创建表sales product\u id int、items\u SALED int、date\u loaded date; 创建表product product\u id int、描述字符串、物料成本加倍、日期加载日期 产品表是每个项目的历史记录。如果一件物品今天的价格是$1.00,而昨天的价格是$0.99,我会有两条记录,每天一条。当我加载销售数据时,我需要反映物品昨天的成本,而不是今天的成本 以下是我正在尝试执行的查询: 选择s

Hadoop 将org.apache.spark.rdd.rdd[String]转换为并行集合

我的HDFS中有一个csv文件,其中包含一系列产品,如: [56] [85,66,73] [57] [8,16] [25,96,22,17] [83,61] 我试图在我的代码中应用关联规则算法。为此,我需要运行以下命令: scala> val data = sc.textFile("/user/cloudera/data") data: org.apache.spark.rdd.RDD[String] = /user/cloudera/data MapPartitionsRDD[294]

Hadoop 映射与过滤操作

在第二段的第一行,Wiki()说map()也应该负责“过滤” 然而,我的理解是map()只负责通过“转换”更改数据集的“形式”,而不负责“过滤” 这一行令人困惑吗?关于纯地图还原(本wiki所指),在地图阶段进行过滤是一种方法: 在映射阶段之前没有预处理 您应该尽可能减少数据量,以减轻洗牌和排序阶段的数据负载 因此,map是根据需要应用业务逻辑过滤的地方 基本上,由于您只实现map和reduce,您也可以将其解释为:给定stages map和reduce,在_map_u中执行业务过滤,因为在

Hadoop 在hdinsight中保存配置单元或hbase表

我对hdinsight一无所知。在一个普通的内部集群上,我可以创建一个新表并将其放在现有模式中,或者创建一个新模式以稍后检索它。如果我创建一个hbase表,我可以使用类似的方法 如果我在Hive中创建了一个表,或者在Hdinsight中的base中创建了一个表,那么在关闭之前我必须做些什么才能查询我刚才创建的表 我已经搜索了文档,但是没有找到这个过程的详细信息。我不想创建sql数据库。在HDInsight中,数据存储在Azure/Blob或Azure data lake存储中,Metastore

Hadoop 哪一个是最好的:ApacheAmbari群集在物理系统上,有5台机器,还是安装在虚拟机上,有不同的5台虚拟机?

您好,我正在做我的一个项目,我创建了5台机器的虚拟机,它在开发环境中运行良好,但我对虚拟机集群是好的还是需要使用物理系统集群感到困惑。Hadoop是为物理系统开发的,但它在虚拟机中的成功程度不同环境,它取决于特定的环境 这实际上是hadoop邮件列表中的一个常见问题,hadoop开发人员在hadoop Wiki文章中专门解决了这个问题:。本文介绍了每种方法的优缺点,并讨论了云部署。您应该阅读本文,了解您所处的部署场景,并评估VM设置中可能存在的问题。如果要将虚拟机用于HDF,请小心复制。默认情况

Hadoop Cloudera虚拟机的共享内存文件空间不足

在cloudera VM CDH 5.10中启动配置单元时出现以下错误: Java HotSpot(TM)64位服务器VM警告:共享内存文件空间不足:/tmp/hsperfdata\u cloudera/26270请尝试使用-Djava.io.tmpdir=选项选择备用临时位置 如何清除tmp驱动器或所有解决方案是什么

Hadoop 如何删除已使用配置单元加载的现有记录

我每天都从本地文件系统将数据加载到配置单元的外部表中,这大约是我表中一年的数据。今天客户告诉我昨天的数据不正确。现在,如何从已经有大量数据的表中删除昨天的数据。您只能使用配置单元事务管理从配置单元表中删除数据。但有一定的限制: 1文件格式应为orc类型。 你的桌子必须有扣子。 3无法在外部表上启用Transaction,因为它超出了元存储控制 默认情况下,事务管理功能处于关闭状态。您可以通过更新hive-site.xml文件来启用此功能。1删除现有记录与删除昨天的数据不同,除非您每天加载1条记录

Hadoop ApacheHive-执行后钩子

我开始知道Hive钩子可以中断Hive执行流,钩子我们的代码和钩子将首先工作。 我想创建后执行钩子或后驱动钩子,以捕获配置单元查询输出,并用静态值(例如NULL)应用或替换敏感列值 我经历过: 我试过使用执行后钩子: 我不知道如何在配置单元引擎处理查询后捕获查询结果,然后再将结果保存到驱动程序 public class HiveExampleHook implements ExecuteWithHookContext { public void run(HookContext hookConte

Hadoop 由cloudera manager代理导致的HDFS NameNode JvmPauseMonitor警告

在我们的在线集群中,我们收到了很多这样的警告: 2020-01-21 09:08:00,711 INFO org.apache.hadoop.util.JvmPauseMonitor: Detected pause in JVM or host machine (eg GC): pause of approximately 2328ms No GCs detected 如图所示,没有GC,但jvm只是暂停了 我们注意到警告每1分钟发生一次,当这种警告发生时,cmf代理的cpu使用率增加到80%