Web  收录于 VXNA 的 1 个网站
45 篇文章 feed address
 2Nfree 最近的时间轴更新
2Nfree
ONLINE

2Nfree

🏢  FS.COM Inc. / Cloud Engineer
V2EX 第 438474 号会员,加入于 2019-08-28 20:18:19 +08:00
今日活跃度排名 301
2Nfree 最近回复了
只删除数据不重置消费组的情况下,对应 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 用惯了
8 天前
回复了 mizuki9 创建的主题 Linux 在 WSL 上安装 Arch Linux (official)
之前用的一直是这个: https://github.com/yuk7/ArchWSL ,和官方的有啥区别吗
@justtokankan #3 笔记本搞 NAS 有点不太合适了,接硬盘很麻烦,NAS 配置要求不是特别高,基本是个 U 都能跑
啥配置啊,笔记本还是主机,功耗低的话搞个软路由 nas 啥的
限定会议软件吗,不限定的话飞书会议就有这个功能
@kyonn #3 可以尝试一下,把代理区分开,不同的源仓库使用不同 nexus 仓库,这样例如你拉取 quay.io/xxx/xxx 镜像应该会走 quay.io 的代理
@2Nfree #4 修改一下,适配于 dockerhub 风格,quay.iogcr.ioghcr.io 这些与 dockerhub 的接口应该是不一致的,无法使用默认的无域名代理
@freaks #22 建议还是迁移新服务器吧,然后生产业务换成用容器跑
就是因为 daemon.json 默认是只适配与 dockerhub 的,所以例如 quay 或者 gcr 的相关都需要你添加代理仓库的前缀,你发的这个文章也是用的 dockerhub ,dockerhub 的代理是可以省去前面的域名的
@freaks #9 如果之前的服务器没有跑过 npm 的话这个应该就是那个木马了,这个报错应该是有程序在用 npm 下载包
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5668 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 02:20 · PVG 10:20 · LAX 19:20 · JFK 22:20
Developed with CodeLauncher
♥ Do have faith in what you're doing.