V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  2Nfree  ›  全部回复第 2 页 / 共 5 页
回复总数  85
1  2  3  4  5  
@ZZITE #20 了解了,感谢大佬
@julyclyde
@zzhirong
@learnshare
@foolishcrab
感谢各位大佬
@julyclyde #1 架构这一块估计我们不太会去折腾了
@foolishcrab #4 嗯,现在想的就是让用户刷新,对客我们用的是 SSR 暂时没有这种问题
2025 年 4 月 2 日
回复了 nutting 创建的主题 Linux 有没有办法把一个正在跑的 Linux 直接迁移到 pve 的一个 vm
@moefishtang #6 是要关机
2025 年 4 月 2 日
回复了 nutting 创建的主题 Linux 有没有办法把一个正在跑的 Linux 直接迁移到 pve 的一个 vm
@2Nfree #1 一开始没仔细看,pc 的话感觉只能 Clonezilla 或者 rsync 了
2025 年 4 月 2 日
回复了 nutting 创建的主题 Linux 有没有办法把一个正在跑的 Linux 直接迁移到 pve 的一个 vm
云服务器还是本地服务器,云服务器可以打包 AMI 导出本地运行,本地服务器可以看看 Clonezilla ,但我没用过
2025 年 3 月 18 日
回复了 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 用惯了
2025 年 3 月 5 日
回复了 mizuki9 创建的主题 Linux 在 WSL 上安装 Arch Linux (official)
之前用的一直是这个: https://github.com/yuk7/ArchWSL ,和官方的有啥区别吗
@justtokankan #3 笔记本搞 NAS 有点不太合适了,接硬盘很麻烦,NAS 配置要求不是特别高,基本是个 U 都能跑
啥配置啊,笔记本还是主机,功耗低的话搞个软路由 nas 啥的
限定会议软件吗,不限定的话飞书会议就有这个功能
2025 年 2 月 13 日
回复了 kyonn 创建的主题 程序员 nexus 代理 docker 时怎么设置才能省略 地址前缀。
@kyonn #3 可以尝试一下,把代理区分开,不同的源仓库使用不同 nexus 仓库,这样例如你拉取 quay.io/xxx/xxx 镜像应该会走 quay.io 的代理
2025 年 2 月 13 日
回复了 kyonn 创建的主题 程序员 nexus 代理 docker 时怎么设置才能省略 地址前缀。
@2Nfree #4 修改一下,适配于 dockerhub 风格,quay.iogcr.ioghcr.io 这些与 dockerhub 的接口应该是不一致的,无法使用默认的无域名代理
2025 年 2 月 13 日
回复了 freaks 创建的主题 服务器 ecs 发现并告警了挖矿程序,你们一般是怎么处理的
@freaks #22 建议还是迁移新服务器吧,然后生产业务换成用容器跑
2025 年 2 月 13 日
回复了 kyonn 创建的主题 程序员 nexus 代理 docker 时怎么设置才能省略 地址前缀。
就是因为 daemon.json 默认是只适配与 dockerhub 的,所以例如 quay 或者 gcr 的相关都需要你添加代理仓库的前缀,你发的这个文章也是用的 dockerhub ,dockerhub 的代理是可以省去前面的域名的
2025 年 2 月 13 日
回复了 freaks 创建的主题 服务器 ecs 发现并告警了挖矿程序,你们一般是怎么处理的
@freaks #9 如果之前的服务器没有跑过 npm 的话这个应该就是那个木马了,这个报错应该是有程序在用 npm 下载包
2025 年 2 月 13 日
回复了 kyonn 创建的主题 程序员 nexus 代理 docker 时怎么设置才能省略 地址前缀。
这个是因为如果你默认不加域的情况下走的就是 dockerhub 或者你在 daemon.json 中配置的镜像代理地址,因为 docker 的 daemon.json 默认是只适配与 dockerhub 的,其他第三方的仓库不在他这个的配置范围内
1  2  3  4  5  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4032 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 21ms · UTC 05:20 · PVG 13:20 · LAX 22:20 · JFK 01:20
♥ Do have faith in what you're doing.