本文共 2899 字,大约阅读时间需要 9 分钟。
在CentOS环境下部署Kafka集群之前,需先安装Zookeeper。Kafka集群通常包括以下组件:
Kafka通过Zookeeper实现集群管理,Producer采用push模式发布消息,Consumer采用pull模式消费消息。
# 下载kafka镜像docker pull wurstmeister/kafka:latest# 下载zookeeper镜像docker pull wurstmeister/zookeeper:latest
# 启动zookeeper镜像docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper# 启动kafka镜像docker run -d --name kafka -p 9092:9092 \-e KAFKA_BROKER_ID=0 \-e KAFKA_ZOOKEEPER_CONNECT=192.168.0.105:2181 \-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.105:9092 \-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \-t wurstmeister/kafka
注意事项:
KAFKA_ZOOKEEPER_CONNECT 配置的是Zookeeper的地址,支持单节点或多节点(多节点时用逗号分隔)。docker container lsdocker container stop XXXXXXXXdocker container rm XXXXXXXX在项目的POM.xml中添加Kafka相关的依赖:
org.springframework.cloud spring-cloud-starter-bus-kafka
在application.yml中添加Kafka配置:
spring: application: name: spring-cloud-config-server-9091 cloud: config: server: git: uri: XXXXXX.git username: XXXXXX password: XXXXXX bus: enabled: true trace: enabled: true refresh: enabled: true kafka: bootstrap-servers: 192.168.0.105:9092 consumer: group-id: config-servers server: port: 9091eureka: client: service-url: defaultZone: http://localhost:9090/eurekamanagement: endpoints: web: exposure: exclude: bus-refresh
注意事项:
bootstrap-servers 配置Kafka的地址,需替换为实际地址。group-id 配置Consumer组的ID,需与消费者组件保持一致。启动服务时会输出以下日志信息:
2020-07-17 23:47:42.669 INFO 6392 --- [ main] j.s.s.SpringCloudConfigServerApplication : No active profile set, falling back to default profiles: default2020-07-17 23:47:43.801 WARN 6392 --- [ main] o.s.boot.actuate.endpoint.EndpointId : Endpoint ID 'bus-env' contains invalid characters, please migrate to a valid format.2020-07-17 23:47:44.204 INFO 6392 --- [ main] faultConfiguringBeanFactoryPostProcessor : No bean named 'errorChannel' has been explicitly defined. Therefore, a default PublishSubscribeChannel will be created.2020-07-17 23:47:44.739 INFO 6392 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'integrationChannelResolver' of type [org.springframework.integration.support.channel.BeanFactoryChannelResolver] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
注意事项:
转载地址:http://ltsn.baihongyu.com/