单机安装zookeeper与kafka,SpringCloud config结合bus(kafka)动态刷新配置

安装zookeeper

下载

zookeeper下载:https://zookeeper.apache.org/releases.html

解压

windows 直接解压
在这里插入图片描述
linux执行

tar -zxvf zookeeper-3.4.12
修改配置文件
  • windows
    将解压目录下sample_zoo.cfg重命名为zoo.cfg
    修改zoo.cfg中dataDir(将dataDir数据存储位置改为指定目录)
    在这里插入图片描述

点击启动
在这里插入图片描述

  • linux
    在安装目录下的config目录中 执行
mv sample_zoo.cfg zoo.cfg

在安装目录下的bin目录中 执行启动命令

./zkServer.sh start		##启动命令
./zkServer.sh status  	##查看启动状态

安装kafka

下载

http://kafka.apache.org/downloads

解压
  • windows
    解压下载的文件,目录结构为:
    在这里插入图片描述
    进入config目录修改server.properties文件
# 修改为指定目录
log.dirs=E:\\data\\logs\\kafka
# 指定zookeeper服务的链接  端口默认为 2181
zookeeper.connect=localhost:2181
advertised.listeners=plaintext://localhost:9092

启动kafka:
在安装目录下 打开cmd命令执行

.\bin\windows\kafka-server-start.bat .\config\server.properties

SpringCloud config结合bus(kafka)动态刷新配置

config-server

pom.xml依赖导入

		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-config-server</artifactId>
		</dependency>

		<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-kafka</artifactId>
        </dependency>
		
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		 </dependency>

application.yml配置

spring:
	cloud:
		config:
			native:
				searchLocations: classpath:/configs/{profile}	#指定配置文件地址
		bus:
			refresh:
				enabled: true		#开启bus刷新
	kafka:
		bootstrap-servers:
		- localhost: 9092			#kafka服务地址
management:
  endpoints:
    web:
      exposure:
        include: "*"				#开启actuator 中api(主要是refresh)
  endpoint:
    health:
      show-details: always	

在项目resources/ configs文件夹下创建dev、test、prod等不同环境的文件夹,并在相应文件夹下放置配置文件。
例如:文件目录结构

resources

dev

config1.yml
config2.yml

config-client

pom.xml依赖

		<dependency>
			<groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
		</dependency>
		
		<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-kafka</artifactId>
        </dependency>
        
    	<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		 </dependency>

bootstrap.yml配置文件

spring:
	cloud:
		config:
			uri: http://localhost:9999	#config配置中心地址
	     	name: config1,config2		#config配置中心resources下配置文件
	      	profile: dev				#配置文件所属环境
	      fail-fast: true
	  	bus:
      	refresh:
        	enabled: true
  kafka:
    bootstrap-servers:
    - localhost:9092
management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: always

分别启动config-server -> config-client

修改config-server下配置文件
  1. 在不重启的情况下修改了配置文件
  2. 向配置中心执行刷新请求http://localhost:9999/actuator/bus-refresh
  3. config-server 、config-client将会重新加载配置
  • 注:http://localhost:9999/actuator/bus-refresh是post请求
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值