kafka开发环境搭建

yang009ww 发布于 2013/03/08 10:59
阅读 7K+
收藏 1

@FrankHui 你好,想跟你请教个问题:kafka开发环境搭建时,在windows下运行java项目,报:Unable to connect to zookeeper server within timeout: 6000,在windows下ping liunx地址是可以ping通的。

将其打包jar,放到linux环境下,执行java -jar kafka_test.java Dclasspath=javatest/lib/,报找不到kafka.producer.ProducerConfig这个类,具体信息如图:

但是我直接在linux下执行:bin/kafka-console-producer.sh --zookeeper 172.16.0.32:2181 --topic test 是没有问题的。而且执行完bin/kafka-console-consumer.sh --zookeeper 172.16.0.32:2181 --topic test --from-beginning 是可以正常发送信息的。(已将config目录下server.properties中的hostname改为172.16.0.32)

jar中main函数对应的类源代码如:

为什么执行不成功呢?而且我有个疑问,在java代码中要读取kafka的配置文件,但是没有指定kafka配置文件的文件名和所在目录,这种情况下,它是怎样能找到正确的配置文件的?

加载中
0
Gaischen
Gaischen

在java代码中要读取kafka的配置文件,但是没有指定kafka配置文件的文件名和所在目录,这种情况下,它是怎样能找到正确的配置文件的 :

kafka底层实现,在代码里都有默认的加载了,都是直接写死的,好多都是default的配置。具体可看kafka.producer包下的ProducerConfig:

这个问题应该是却包,少放了jar包吧。。。

将其打包jar,放到linux环境下,执行java -jar kafka_test.java Dclasspath=javatest/lib/,报找不到kafka.producer.ProducerConfig这个类

0
yang009ww
yang009ww
上面之前我只引入了6个jar包:kafka0.7.2.jar, log4j1.2.15.jar,  scala-compiler.jar, scalalibrary.jar,zkclient-0.1.jar,  zookeeper3.3.4.jar, 后面我把剩下的3个也加进去了: jopt-simple-3.2.jar,kafka-perf-0.7.2.jar,snappy-java-1.0.4.1.jar,  无论是在windows下还是在linux下都是和刚才一样的问题,找不到kafka.producer.ProducerConfig这个类
 
0
yang009ww
yang009ww

解决方案:在java工程中,新建名为:MANIFEST.MF,打开该文件,加入一下内容:主要作用就是指定当该工程打成jar之后的运行主函数以及引入的第三方jar包。

将该java工程打成jar包时,需要注意在第三步骤时选择如图所示:

打包成功之后,将jar包上传至linux下,并在当前目录下信件lib目录,将MANIFEST.MF中引入的jar包全部copy进去。

然后就可以执行jar包了:java -jar kafka_test.jar,如图:

consumer端已成功接收到消息,如:

终于成功了,非常感谢@FrankHui ,对于我学习kafka有很大的帮助,同时期待你更多精彩详细的kafka文章。谢谢!

0
Gaischen
Gaischen

引用来自“yang009ww”的答案

解决方案:在java工程中,新建名为:MANIFEST.MF,打开该文件,加入一下内容:主要作用就是指定当该工程打成jar之后的运行主函数以及引入的第三方jar包。

将该java工程打成jar包时,需要注意在第三步骤时选择如图所示:

打包成功之后,将jar包上传至linux下,并在当前目录下信件lib目录,将MANIFEST.MF中引入的jar包全部copy进去。

然后就可以执行jar包了:java -jar kafka_test.jar,如图:

consumer端已成功接收到消息,如:

终于成功了,非常感谢@FrankHui ,对于我学习kafka有很大的帮助,同时期待你更多精彩详细的kafka文章。谢谢!

嗯  不客气。。我也正在做这方面的  性能调试。。确实还有挺多问题要解决的
0
q
qiaoqiaozc

请问kafka是不是只能部署到Linux上,windows上可以部署吗?

 

返回顶部
顶部