1、使用kafka,依赖zookeeper和scala,对应版本从网上找
2、都安装完成后,进入kafka的安装路径下面的bin目录,打开
存在这些文件
常用命令说明:
kafka-console-producer.sh(命令模式下发送消息)【./kafka-console-producer.sh --broker-list localhost:9092 --topic test】
kafka-console-consumer.sh(命令模式下消费消息)【./kafka-console-consumer.sh --zookeeper localhost:9092 --topic test --from-beginning】
kafka-server-start.sh(启动kafka)【./kafka-server-start.sh ../config/server.properties】
kafka-server-stop.sh(关闭kafka)
zookeeper-server-start.sh(启动zookeeper)【./zookeeper-server-start.sh ../config/zookeeper.properties】
zookeeper-server-stop.sh(关闭zookeeper)
3、接下来进入../config目录
常用说明:
server.properties(kafka服务配置,其中server1和server2是多个broker的配置文件)
zookeeper.properties(zookeeper的配置文件)
进入server.properties
说明:
host.name--->producer和consumer是通过这个主机名(advertised.host.name)来连接broker的,而如果这个值没有设置,则会使用上面的host.name的值,如果上面的host.name也没有设置,则会使用java.net.InetAddress.getCanonicalHostName()获取的值。从Zookeeper中可以看出,默认的时候该broker是localhost,从其他机器访问当然不可能成功。【解决Failed to send messages after 3 tries错误的方案】
zookeeper.connect--->zookeeper地址端口(最好都配成服务器的真实ip,不要localhost,不然程序里面不好调用)
以上配置完毕,接下来实例测试
1、命令:
①:启动zookeeper
②:启动kafka
③:producer发送消息
④:consumer消费消息
2、程序代码
定义生产者
topic:对应的主题
message:发送的消息
发送消息
至此,结束。
个人愚见,有什么问题可以指出来,大神勿喷