当前位置:   article > 正文

docker安装单体kafka_docker安装单机kafka

docker安装单机kafka
kafka安装

1、安装 zookkeeper

docker pull wurstmeister/zookeeper

2、运行zookeeper

docker run -d --name zookeeper -p 2181:2181 wurstmeister/zookeeper

3、拉去kafka

docker pull wurstmeister/kafka

4、启动kafka

  1. # 192.168.1.117 => {你的宿主机ip}
  2. #启动kafka
  3. docker run -d --name kafka \
  4. -p 9092:9092 \
  5. -e KAFKA_BROKER_ID=0 \
  6. -e KAFKA_ZOOKEEPER_CONNECT=192.168.1.117:2181 \
  7. -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.117:9092 \
  8. -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka

5、简单命令

  1. #创建主题
  2. ./kafka-topics.sh --create --zookeeper 192.168.1.117:2181 --replication-factor 1 --partitions 1 --topic test1
  3. #查看主题
  4. ./kafka-topics.sh --zookeeper 192.168.1.117:2181 --list
  5. #添加消息
  6. ./kafka-console-producer.sh --bootstrap-server 192.168.1.117:9092 --topic test1
  7. #消费消息
  8. ./kafka-console-consumer.sh --bootstrap-server 192.168.1.117:9092 --topic test1 --from-beginning
SpringBoot整合kafka

1、添加依赖

  1. <!--kafka-->
  2. <dependency>
  3. <groupId>org.springframework.kafka</groupId>
  4. <artifactId>spring-kafka</artifactId>
  5. </dependency>

2、编写controller层  

  1. @RequestMapping("/KafkaControllerWeb")
  2. public interface KafkaControllerWeb {
  3. @PostMapping("/sendKafkaMessage")
  4. R sendKafkaMessage(@RequestBody OrderOutsideDto orderDto);
  5. }
  6. //生产者
  7. @RestController
  8. public class KafkaController implements KafkaControllerWeb {
  9. @Autowired
  10. private KafkaTemplate<String,String> kafkaTemplate;
  11. @Override
  12. public R sendKafkaMessage(OrderOutsideDto orderDto) {
  13. try {
  14. ListenableFuture<SendResult<String, String>> test2 = kafkaTemplate.send("test1", orderDto.getOrderStatus());
  15. return R.ok("发送成功");
  16. }catch (Exception e){
  17. return R.error("kafka发送失败"+e);
  18. }
  19. }
  20. }

3、编写 消费者

  1. /**
  2. * kafka 消费者
  3. *
  4. * */
  5. @Configuration
  6. public class KafkaConsumer {
  7. /**
  8. * 消费监听
  9. */
  10. @KafkaListener(topics = "test1")
  11. public void onMessage1(String body){
  12. System.out.println("从kafka收到的消息"+body);
  13. }
  14. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/826025
推荐阅读
相关标签
  

闽ICP备14008679号