草庐IT

hadoop - kafka在大数据集群中有什么用?

我最近部署了大数据集群。在这方面,我使用了ApacheKafka和zookeeper。但是我仍然不了解它在集群中的用法。什么时候需要两者以及出于什么目的? 最佳答案 我在这里简化概念。您可以在此处找到详细说明articleKafka是一种快速、可扩展、本质上分布式的设计、分区和复制的提交日志服务。它具有独特的设计。特定类型的消息流被定义为主题。生产者可以是任何可以向主题发布消息的人。然后,发布的消息存储在一组称为代理或Kafka集群的服务器中。消费者可以订阅一个或多个主题,并通过从代理中提取数据来消费发布的消息。ZooKeeper是

mysql - 在 hbase 中使用 enclosed by

我有tsv形式的数据,我想将它插入到hbase中,问题是每个字段都用“'”(单引号)括起来。如何在导入命令中提供它:hbaseorg.apache.hadoop.hbase.mapreduce.ImportTsv-Dimporttsv.bulk.output=output1-Dimporttsv.columns=HBASE_ROW_KEY,data:employee_id,data:employee_name,data:designation,data:telephone_number,data:artist_mbid,employees/emp我发现hbase可用的选项有:在http

hadoop - 模式表的 MSCK 修复表失败

我的hive表名采用以下格式:schema_name.hive_table_name例如:schema1.abc;现在,当我尝试在上面的配置单元表上执行MSCK修复表时,它会抛出以下错误。使用文件中的配置初始化日志记录:/etc/hive/conf.dist/hive-log4j.properties失败:ParseException行1:28在“.”处缺少EOF在“schema_name”附近下面是我使用的命令:hive-e"MSCK修复表schema_name.hive_table_name"有人可以帮忙吗? 最佳答案 我试过下

sorting - 在具有 "X"个映射器和 "Y"个缩减器的大型 MapReduce 作业中,排序/洗牌阶段将有多少个不同的复制操作

据我了解会有X+Y个复制操作,不对请指正谢谢 最佳答案 在最坏的情况下,每个reducer可能会从所有映射器中获取记录,假设它的键在所有可用的映射器中都存在。在最坏的情况下,这将为一个reducer提供X个副本。这将导致XY操作而不是X+Y。 关于sorting-在具有"X"个映射器和"Y"个缩减器的大型MapReduce作业中,排序/洗牌阶段将有多少个不同的复制操作,我们在StackOverflow上找到一个类似的问题: https://stackoverf

MySQL 和 HBase 连接

我是Hadoop新手。我想连续从mysql获取数据到Hbase(持续集成),反之亦然。有什么办法可以做这种事情吗?? 最佳答案 你应该看看ApacheSqoop:一种设计用于在Hadoop和数据存储(例如关系数据库)之间传输大量数据的工具。 关于MySQL和HBase连接,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/33436794/

java - MapReduce:减少写入上下文时无限期停止

下面是一个mapreduce程序,在map函数中进行过滤,在reduce步骤中进行求和。map部分执行良好。但是当reduce部分运行时,它会卡在context.write(key,value)行。只有当我尝试在reduce函数类型中编写与在map函数中编写的不同的输出时,才会发生这种情况publicclassFilter3{publicstaticclassTokenizerMapperextendsMapper{publicvoidmap(Objectkey,Textvalue,Contextcontext)throwsIOException,InterruptedExceptio

hadoop - MapReduce中,为什么map函数在查找单词出现时输出1?

假设我想知道每个单词在某些文本中出现的次数。我的理解是,文本被分成多个部分,每个部分都传递给map。map然后会获取每个部分的单词出现次数,并将结果传递给reduce,如下所示:foreachwordwindocument:occurrences[w]+=1returnoccurrences然而,根据MapReducepaper和wikipedia,map只会为每个单词发出1,如下所示:foreachwordwindocument:emit(w,1)这与将文本部分直接传递给reduce基本上不是一回事吗,因为它无论如何都必须遍历每个单词?此外,只是为了确定。如果我想使用MapReduc

hadoop - 预期 org.apache.hadoop.hive.ql.io.orc.OrcStruct,收到 org.apache.hadoop.hive.ql.io.orc.OrcSerde$OrcSerdeRow

当我读取orcfile并将数据写入orcfile时,出现以下错误:expectedorg.apache.hadoop.hive.ql.io.orc.OrcStruct,receivedorg.apache.hadoop.hive.ql.io.orc.OrcSerde$OrcSerdeRow是不是MapoutputValue.class不对?thisismyprogram:packagecom.baifendian.basicPlatform.hive.ql.io.orc;importjava.io.IOException;importjava.util.List;importjava.

hadoop - 让 Hadoop 以 Kerberos 用户身份运行

Kerberos中有一个名为“foo”的用户,hadoop集群受Kerberos保护。我希望hadoop集群将作业作为“foo”运行,我该怎么做?允许hadoop客户端指定要运行的kerberos用户帐户名的配置是什么,就像hadoopcluster'kinitusername'然后运行​​mapreduce作业一样?仅供引用,hadoop2.6.0 最佳答案 我相信您正在寻找用户模仿。这可以在core-site.xml文件中完成。请参见以下示例:hadoop.proxyuser.super.hostshost1,host2hado

hadoop - HDFS - block 大小相关

我只有10MB大小的文件。我认为在HDFS中第一个文件消耗10MB,其余54MB被释放到可用空间。我的问题是-第二个10MB的文件(或下一个10MB的文件序列)会继续增加直到它变成64MB吗?例如-如果我们总共消耗2个64MB的block和20MB的第3个block,那么输入拆分将给出3个输出2个64MB和1个20MB?是真的吗? 最佳答案 引用Hadoop-权威指南:HDFS存储小文件效率低下,因为每个文件都存储在一个block中,并且block元数据由名称节点保存在内存中。因此,大量的小文件会占用名称节点上的大量内存。(但是请注