docker学习(十四)docker安装kafka

docker 安装kafka、zookeeper

#下载镜像
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka

#启动zookeeper
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper

docker exec -it 容器id bash
cd /opt/kafka_2.13-2.8.1/bin

# 192.168.1.117 => {你的宿主机ip}

#启动kafka
docker run -d --name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.1.117:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.117:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka

#创建主题
./kafka-topics.sh --create --zookeeper 192.168.1.117:2181 --replication-factor 1 --partitions 1 --topic test1  

#查看主题
./kafka-topics.sh --zookeeper 192.168.1.117:2181 --list

#添加消息
./kafka-console-producer.sh --bootstrap-server 192.168.1.117:9092 --topic test1

#消费消息
./kafka-console-consumer.sh --bootstrap-server 192.168.1.117:9092 --topic test1 --from-beginning


Springboot集成kafka

yaml配置

server:
  port: 7889

spring:
  kafka:
    bootstrap-servers: 192.168.1.117:9092
    #将 listener 的属性 missingTopicsFatal 设置为 false, 
    listener:
      missingTopicsFatal: false

pom配置

  <dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka</artifactId>
        </dependency>

生产者 & 消费者

@RestController
public class KafkaController {

    @Autowired
    private KafkaTemplate<String, Object> kafkaTemplate;

    @GetMapping("/kafka/{message}")
    public void sendMessage(@PathVariable("message") String normalMessage) {
        kafkaTemplate.send("test2", normalMessage);
    }
}


@Slf4j
@Component
public class KafkaConsumer {
    /**
     * 消费监听
     */
    @KafkaListener(groupId = "consumer1", topics = "test2")
    public void onMessage1(String body){
        log.info("消息内容: {}", body);
    }

}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宁漂打工仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值