Kafka 0.8.2.2.3和zookeper都运行在VM中。我能够分别使用kafka-console-producer.sh和kafka-console-conducer.sh成功地在VM中运行producer和consumer。甚至我也能够使用kafka-console-consumer.sh从主机上使用Kafka消息。但当我试图从eclipse使用java运行消费者时,zookeeper会记录以下错误
2015-06-26 03:06:26,323 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@1007] - Closed socket connection for client /192.168.1.12:59549 (no session established for client)
2015-06-26 03:07:26,225 - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxnFactory@197] - Accepted socket connection from /192.168.1.12:59617
2015-06-26 03:07:26,226 - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@357] - caught end of stream exception
EndOfStreamException: Unable to read additional data from client sessionid 0x0, likely client has closed socket
at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:228)
at org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:208)
at java.lang.Thread.run(Thread.java:745)
下面是我的Kafka消费代码
package com.truckevent.producer;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import kafka.consumer.Consumer;
import kafka.consumer.ConsumerConfig;
import kafka.consumer.ConsumerIterator;
import kafka.consumer.KafkaStream;
import kafka.javaapi.consumer.ConsumerConnector;
public class KafkaConsumer {
public static void main(String[] args) throws Exception {
String group = "hello" ;
Properties props = new Properties();
props.put("zookeeper.connect", "192.168.1.12:2181");
props.put("group.id", group);
props.put("zookeeper.session.timeout.ms", "20000");
props.put("zookeeper.sync.time.ms", "2030");
props.put("auto.commit.interval.ms", "10000");
props.put("auto.offset.reset", "smallest");
ConsumerConfig cf = new ConsumerConfig(props) ;
ConsumerConnector consumer = Consumer.createJavaConsumerConnector(cf) ;
String topic = "event" ;
Map<String, Integer> topicCountMap = new HashMap<String, Integer>();
topicCountMap.put(topic, new Integer(1));
Map<String, List<KafkaStream<byte[], byte[]>>> consumerMap = consumer.createMessageStreams(topicCountMap);
List<KafkaStream<byte[], byte[]>> streams = consumerMap.get(topic);
KafkaStream<byte[],byte[]> stream = streams.get(0) ;
ConsumerIterator<byte[], byte[]> it = stream.iterator();
int i = 1 ;
while (it.hasNext()) {
System.out.println(i + ": " + new String(it.next().message()));
++i;
}
consumer.shutdown();
}
}
我不确定为什么我不能使用来自java代码的消息。Kafka运行在端口6667上,zookeeper运行在端口2181上。
我没有在Eclipse中获得javadoc(我想它被称为)弹出窗口,该弹出窗口提供了关于我当前悬停的Java/Android方法的详细信息。例如,如果我键入并点击Ctrl+Space,通常会出现一个弹出窗口,显示关于log.d方法的一些信息。这不会发生的。你有什么办法修好它吗?我最近升级到JDK1.7.0_06,我认为Java文档不知何故被冒烟了。我在S.O.上跟踪了几个不同的线索。试图修复它,但
我确实启用了“Run SonarLint Automatic”(选中了),并且我还尝试通过右键单击文件>SonarLint>analyze来手动分析app.java文件。 我在代码或“Sonarlint on-the-fly”选项卡中没有看到下划线的问题。我一定是在什么地方漏掉了一步。谁能给我一些技巧,如何让自动SonarLint问题检测在Eclipse中工作? 谢谢!
我最近升级到了优胜美地,我的maven停止了工作。我想这是因为我的环境变量没有设置,所以我按照这篇文章创建了一个environment.plist文件。 通过launchd.conf设置环境变量在OS X Yosemite/El Capitan/MacOS Sierra中不再有效? 但是我仍然在for Maven中找不到命令,并且由于某种原因没有设置$PATH,其他的则设置了 mac-r4498:
我们正在使用eclipse开普勒服务发布2,Tomcat 7.0.64,JDk1.7。我们以前使用的是流口水5.4.0,现在我们已经升级了流口水6.2.0。作为升级的一部分,我们在构建路径和Web应用程序库文件夹中添加了以下文件。 1.drools-compiler-6.2.0。期末考试-红帽-4。罐子 2。drools-core-6.2.0。期末考试-红帽-4。罐子 3。ecj-4.3.1。罐子
我正试图将eclipse中的java项目导出为可运行的jar,但由于某种原因,可运行的jar无法工作。如果双击可执行jar,它什么也不做。我尝试将所需库提取并打包到生成的JAR中。 所以我也尝试导出一些更简单的项目,那些工作很好。最大的区别是我的真实项目有文件:图像和xml文件。 在代码中引用它们,如下所示:
当我创建RoboVM Eclipse项目时,Eclipse给了我一个例外: 同样,当我尝试转到“设置”>“RoboVM”时,我也会得到这样的消息: