Tag: hortonworks data platform

Apache NiFi – OutOfMemory错误:SplitText处理器超出了GC开销限制

我正在尝试使用NiFi使用HDF 1.2处理大型CSV文件(每个可能有数十亿条记录)。 我实现了我的流程,一切都适用于小文件。 问题是如果我尝试将文件大小推到100MB(1M记录),我会得到一个java.lang.OutOfMemoryError: GC overhead limit exceeded从负责将文件拆分为单个记录的SplitText处理器java.lang.OutOfMemoryError: GC overhead limit exceeded 。 我已经搜索过了,它基本上意味着垃圾收集器执行的时间太长而没有获得太多的堆空间。 我希望这意味着太多的流文件生成得太快了。 我怎么解决这个问题? 我已经尝试改变nifi关于最大堆空间和其他与内存相关的属性的配置,但似乎没有任何效果。 现在我添加了一个行数为1K的中间SplitText ,这可以让我避免错误,但我不认为这是一个可靠的解决方案,当传入的文件大小可能远远超过这个时,我担心我将从处理器获得相同的行为。 欢迎任何建议! 谢谢

Kafka Java Producer与kerberos

在kerberosed环境中向kafka主题发送消息时收到错误。 我们在hdp 2.3上有集群 我跟着这个http://henning.kropponline.de/2016/02/21/secure-kafka-java-producer-with-kerberos/ 但是对于发送消息,我必须首先明确地执行kinit,然后才能将消息发送到kafka主题。 我试图通过java类编织,但这也行不通。 PFB代码: package com.ct.test.kafka; import java.util.Date; import java.util.Properties; import java.util.Random; import kafka.javaapi.producer.Producer; import kafka.producer.KeyedMessage; import kafka.producer.ProducerConfig; public class TestProducer { public static void main(String[] args) { String principalName = “ctadmin”; String keyTabPath = “/etc/security/keytabs/ctadmin.keytab”; boolean authStatus = CTSecurityUtil.loginUserFromKeytab(principalName, keyTabPath); if (!authStatus) { System.out.println(“Authntication fails, try something else ” + authStatus); […]

使用Hiveserver2 Thrift Java客户端时请求挂起

这是这个问题的后续问题 ,我在哪里询问Hiveserver 2 thrift java客户端API是什么。 如果您不需要任何更多背景,这个问题应该能够在没有背景的情况下站立。 无法找到有关如何使用hiverserver2 thrift api的任何文档,我把它放在一起。 我能找到的最佳参考是Apache JDBC实现 。 TSocket transport = new TSocket(“hive.example.com”, 10002); transport.setTimeout(999999999); TBinaryProtocol protocol = new TBinaryProtocol(transport); TCLIService.Client client = new TCLIService.Client(protocol); transport.open(); TOpenSessionReq openReq = new TOpenSessionReq(); TOpenSessionResp openResp = client.OpenSession(openReq); TSessionHandle sessHandle = openResp.getSessionHandle(); TExecuteStatementReq execReq = new TExecuteStatementReq(sessHandle, “SHOW TABLES”); TExecuteStatementResp execResp = client.ExecuteStatement(execReq); TOperationHandle […]