V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  2Nfree  ›  全部回复第 1 页 / 共 4 页
回复总数  75
1  2  3  4  
24 天前
回复了 milala 创建的主题 健康 遇到个糟心事关于牙髓炎根管治疗的
楼主哪个地方的?换地方找那种专业口腔医院看看呢,北大口腔,华西口腔,武大口腔啥的
Claude Code 吗?我现在用的是 AWS BedRock ,只需要挂一个可用地区的代理就行,如果要是需要 API ,需要额外部署一个 BedRock Connector
44 天前
回复了 a33291 创建的主题 数据库 有能把 navicat 连接转为 datagrip 的工具吗
导入 datagrip 没试过,我之前有做过 navicat 迁移到 dbeaver 的,导出之后用工具解密一下 Navicat 的加密然后直接导入就可以了
44 天前
回复了 a33291 创建的主题 数据库 有能把 navicat 连接转为 datagrip 的工具吗
@zhuyao #1 Navicat 的加密密码有方法解密,可以解密之后再导入
48 天前
回复了 1daydayde 创建的主题 全球工单系统 docker hub 服务有问题
今天下午 AWS 美东一区有故障,合理怀疑是 Docker Hub 用了 AWS 的服务
143 天前
回复了 xiafuxin 创建的主题 随想 我有一个想法,关于喝水提醒
170 天前
回复了 anivie 创建的主题 Windows wslg 尝试安装桌面后非常卡顿
wslg 主要还是直接运行图形化应用的,运行桌面效果不太好,直接装图形化应用用会好一点
174 天前
回复了 WilliamColton 创建的主题 MySQL Mysql 无法修改自增主键的 AUTO_INCREMENT 值
@WilliamColton #5 清空表是不会重置主键自增值的,只有重建表可以
@2Nfree #26 现在我们的临时解决办法就是告诉用户更新了让他们自己刷新了,虽然感觉有点怪怪的,但是也还好 https://i.imgur.com/krir4IG.png
@Ghrhrrv146 #25 但是我感觉这种方式不能错误保证一定是因为 JS 更新导致的吧,万一有其他的问题导致了相同的报错是不是就会反复刷新
@ZZITE #20 了解了,感谢大佬
@julyclyde
@zzhirong
@learnshare
@foolishcrab
感谢各位大佬
@julyclyde #1 架构这一块估计我们不太会去折腾了
@foolishcrab #4 嗯,现在想的就是让用户刷新,对客我们用的是 SSR 暂时没有这种问题
@moefishtang #6 是要关机
@2Nfree #1 一开始没仔细看,pc 的话感觉只能 Clonezilla 或者 rsync 了
云服务器还是本地服务器,云服务器可以打包 AMI 导出本地运行,本地服务器可以看看 Clonezilla ,但我没用过
264 天前
回复了 ChrisFreeMan 创建的主题 生活 骑了两年公路车腻了,还有什么爱好推荐
钓鱼
只删除数据不重置消费组的情况下,对应 topic 的 offset 会变成负数,需要重置消费组
docker 部署给你一个参考,部署了两种集群:
```yaml
version: '3'
services:
zookeeper1:
image: 'bitnami/zookeeper:3.8'
container_name: zookeeper1
ports:
- '2181:2181'
environment:
# 匿名登录--必须开启
- ALLOW_ANONYMOUS_LOGIN=yes
# 服务 ID 不重复
- ZOO_SERVER_ID=1
# 集群地址配置
- ZOO_SERVERS=zookeeper1:2888:3888,zookeeper2:2888:3888,zookeeper3:2888:3888
volumes:
- ./zookeeper/zookeeper-data1:/bitnami/zookeeper
zookeeper2:
image: 'bitnami/zookeeper:3.8'
container_name: zookeeper2
ports:
- '2182:2181'
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
- ZOO_SERVER_ID=2
- ZOO_SERVERS=zookeeper1:2888:3888,zookeeper2:2888:3888,zookeeper3:2888:3888
volumes:
- ./zookeeper/zookeeper-data2:/bitnami/zookeeper
zookeeper3:
image: 'bitnami/zookeeper:3.8'
container_name: zookeeper3
ports:
- '2183:2181'
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
- ZOO_SERVER_ID=3
- ZOO_SERVERS=zookeeper1:2888:3888,zookeeper2:2888:3888,zookeeper3:2888:3888
volumes:
- ./zookeeper/zookeeper-data3:/bitnami/zookeeper
kafka1:
image: 'bitnami/kafka:3.4'
container_name: kafka1
depends_on:
- zookeeper1
- zookeeper2
- zookeeper3
ports:
- '9092:9092'
environment:
### zookeeper
# 配置 zookeeper 地址
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181

### Listeners
# 允许使用 PLAINTEXT 监听器
- ALLOW_PLAINTEXT_LISTENER=yes
# 指定内部使用的 Broker 监听名称
- KAFKA_INTER_BROKER_LISTENER_NAME=PLAINTEXT
# 配置 Kafka 和 ZooKeeper 之间的通信协议
- KAFKA_ZOOKEEPER_PROTOCOL=PLAINTEXT
# 定义安全协议
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT
# 定义 kafka 服务端 socket 监听端口
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
# 配置外部访问地址
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://:9092

### Cluster
# 配置偏移量主题为 3 个副本
- KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=3
# 配置事务状态日志为 3 个副本
- KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=3
# 用于指定事务状态日志的最小 ISR 。ISR 是指与 Kafka Broker 保持同步的副本集合。如果 ISR 中的副本数量低于 2 ,则 Kafka Broker 将停止写入事务状态日志。
- KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR=2

# 设置堆内存
- KAFKA_HEAP_OPTS=-Xmx512m -Xms512m
volumes:
- ./kafka-zookeeper/kafka-data1:/bitnami/kafka
kafka2:
image: 'bitnami/kafka:3.4'
container_name: kafka2
depends_on:
- zookeeper1
- zookeeper2
- zookeeper3
ports:
- '9093:9092'
environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_INTER_BROKER_LISTENER_NAME=PLAINTEXT
- KAFKA_ZOOKEEPER_PROTOCOL=PLAINTEXT
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://:9092
- KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=3
- KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=3
- KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR=2
- KAFKA_HEAP_OPTS=-Xmx512m -Xms512m
volumes:
- ./kafka-zookeeper/kafka-data2:/bitnami/kafka
kafka3:
image: 'bitnami/kafka:3.4'
container_name: kafka3
depends_on:
- zookeeper1
- zookeeper2
- zookeeper3
ports:
- '9094:9092'
environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_INTER_BROKER_LISTENER_NAME=PLAINTEXT
- KAFKA_ZOOKEEPER_PROTOCOL=PLAINTEXT
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://:9092
- KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=3
- KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=3
- KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR=2
- KAFKA_HEAP_OPTS=-Xmx512m -Xms512m
volumes:
- ./kafka-zookeeper/kafka-data3:/bitnami/kafka
kafka-kraft1:
container_name: "kafka-kraft1"
image: 'bitnami/kafka:3.4'
restart: always
ports:
- '19092:9092'
environment:
### KRaft 配置
# 允许使用 kraft ,即 Kafka 替代 Zookeeper
- KAFKA_ENABLE_KRAFT=yes
# 配置节点唯一 ID
- KAFKA_CFG_NODE_ID=1
# 配置 kafka 角色,做 broker ,也要做 controller
- KAFKA_CFG_PROCESS_ROLES=controller,broker
# 控制端集群地址
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka-kraft1:9093,2@kafka-kraft2:9093,3@kafka-kraft3:9093
# 使用 Kafka 时的集群 id ,集群内的 Kafka 都要用这个 id 做初始化,生成一个 UUID 即可
- KAFKA_KRAFT_CLUSTER_ID=Mg-p_2D8RFKm5qYZPgq_hA

### Listeners
# 允许使用 PLAINTEXT 监听器
- ALLOW_PLAINTEXT_LISTENER=yes
# 指定控制端使用的监听名称
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
# 指定内部使用的 Broker 监听名称
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT
# 定义安全协议
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT
# 配置 kafka 服务端 socket 监听端口
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
# 配置外部访问地址
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://:9092

### Cluster
# 配置偏移量主题为 3 个副本
- KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=3
# 配置事务状态日志为 3 个副本
- KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=3
# 用于指定事务状态日志的最小 ISR 。ISR 是指与 Kafka Broker 保持同步的副本集合。如果 ISR 中的副本数量低于 2 ,则 Kafka Broker 将停止写入事务状态日志。
- KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR=2

# 设置堆内存
- KAFKA_HEAP_OPTS=-Xmx512m -Xms512m
volumes:
- ./kafka-kraft/kafka-data1:/bitnami/kafka
kafka-kraft2:
container_name: "kafka-kraft2"
image: 'bitnami/kafka:3.4'
restart: always
ports:
- '19093:9092'
environment:
- KAFKA_ENABLE_KRAFT=yes
- KAFKA_CFG_NODE_ID=2
- KAFKA_CFG_PROCESS_ROLES=controller,broker
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka-kraft1:9093,2@kafka-kraft2:9093,3@kafka-kraft3:9093
- KAFKA_KRAFT_CLUSTER_ID=Mg-p_2D8RFKm5qYZPgq_hA
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://:9092
- KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=3
- KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=3
- KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR=2
- KAFKA_HEAP_OPTS=-Xmx512m -Xms512m
volumes:
- ./kafka-kraft/kafka-data2:/bitnami/kafka
kafka-kraft3:
container_name: "kafka-kraft3"
image: 'bitnami/kafka:3.4'
restart: always
ports:
- '19094:9092'
environment:
- KAFKA_ENABLE_KRAFT=yes
- KAFKA_CFG_NODE_ID=3
- KAFKA_CFG_PROCESS_ROLES=controller,broker
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka-kraft1:9093,2@kafka-kraft2:9093,3@kafka-kraft3:9093
- KAFKA_KRAFT_CLUSTER_ID=Mg-p_2D8RFKm5qYZPgq_hA
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://:9092
- KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=3
- KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=3
- KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR=2
- KAFKA_HEAP_OPTS=-Xmx512m -Xms512m
volumes:
- ./kafka-kraft/kafka-data3:/bitnami/kafka
kafka-ui:
image: provectuslabs/kafka-ui:latest
container_name: kafka-ui
restart: always
depends_on:
- kafka1
- kafka2
- kafka3
- kafka-kraft1
- kafka-kraft2
- kafka-kraft3
ports:
- 8080:8080
environment:
- KAFKA_CLUSTERS_0_NAME=kafka-zookeeper
- KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=172.28.13.101:9092,172.28.13.101:9093,172.28.13.101:9094
- KAFKA_CLUSTERS_1_NAME=kafka-kraft
- KAFKA_CLUSTERS_1_BOOTSTRAPSERVERS=172.28.13.101:19092,172.28.13.101:19093,172.28.13.101:19094
- SERVER_SERVLET_CONTEXT_PATH=/
- AUTH_TYPE= "LOGIN_FORM"
- SPRING_SECURITY_USER_NAME=admin
- SPRING_SECURITY_USER_PASSWORD=admin
- DYNAMIC_CONFIG_ENABLED='true'
kafka-map:
image: dushixiang/kafka-map:v1.3.3
container_name: kafka-map
restart: always
depends_on:
- kafka1
- kafka2
- kafka3
- kafka-kraft1
- kafka-kraft2
- kafka-kraft3
ports:
- 8081:8080
environment:
- DEFAULT_USERNAME=admin
- DEFAULT_PASSWORD=admin
```
kraft 我们是没有用的,之前 zookeeper 用惯了
1  2  3  4  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   792 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 21:47 · PVG 05:47 · LAX 13:47 · JFK 16:47
♥ Do have faith in what you're doing.