GitHub user huangjuncong edited a discussion: rocketmq5.3.2 加上proxy
组件后,报错,broker注册地址偶尔是组件容器IP,不断和宿主IP切换
mq1 compose:
`version: '3.8'
services:
rmqnamesrv:
image: apache/rocketmq:5.3.2
container_name: rmqnamesrv
ports:
- "9876:9876"
volumes:
# 将日志挂载到 /data
- /data/rocketmq/namesrv/logs:/home/rocketmq/logs
# GC 日志挂载
- /data/rocketmq/namesrv/gclogs:/home/rocketmq/gclogs
networks:
- rocketmq
extra_hosts:
- "mq1:192.62.31.18"
- "mq2:192.62.31.19"
- "mq3:192.62.31.20"
environment:
- JAVA_OPT_EXT=-Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=64m
-XX:MaxMetaspaceSize=128m -XX:MaxGCPauseMillis=100 -XX:+PrintGC
-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=100M
-Xloggc:/home/rocketmq/gclogs/gc.log
command: sh mqnamesrv
restart: unless-stopped
user: "3000:3000"
deploy:
resources:
limits:
cpus: '0.5'
memory: 1G
reservations:
cpus: '0.25'
memory: 512M
rmqbroker-a:
image: apache/rocketmq:5.3.2
container_name: rmqbroker-a
ports:
- "10909:10909"
- "10911:10911"
- "10912:10912"
environment:
- NAMESRV_ADDR=mq1:9876;mq2:9876;mq3:9876
- JAVA_OPT_EXT=-Xms6g -Xmx6g -Xmn3g -XX:MetaspaceSize=128m
-XX:MaxMetaspaceSize=256m -XX:MaxGCPauseMillis=200 -XX:MaxDirectMemorySize=1g
-XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M
-Xloggc:/home/rocketmq/gclogs/gc.log
depends_on:
- rmqnamesrv
extra_hosts:
- "mq1:192.62.31.18"
- "mq2:192.62.31.19"
- "mq3:192.62.31.20"
volumes:
# 配置文件从 /opt/rocketmq 加载
-
./broker-a/conf/broker.conf:/home/rocketmq/rocketmq-5.3.2/conf/broker.conf
# 将日志和存储挂载到 /data
- /data/rocketmq/broker-a/logs:/home/rocketmq/logs
- /data/rocketmq/broker-a/store:/home/rocketmq/store
# GC 日志挂载
- /data/rocketmq/broker-a/gclogs:/home/rocketmq/gclogs
networks:
- rocketmq
command: sh mqbroker -c /home/rocketmq/rocketmq-5.3.2/conf/broker.conf
restart: unless-stopped
user: "3000:3000"
deploy:
resources:
limits:
cpus: '3.0'
memory: 10G
reservations:
cpus: '2.0'
memory: 8G
rmqbroker-b-s:
image: apache/rocketmq:5.3.2
container_name: rmqbroker-b-s
ports:
- "11909:10909" # Slave B需要不同端口
- "11911:10911"
- "11912:10912"
extra_hosts:
- "mq1:192.62.31.18" # 示例:mq1 映射到 192.62.31.18
- "mq2:192.62.31.19" # 示例:mq2 映射到 192.62.31.19
- "mq3:192.62.31.20" # 示例:mq3 映射到 192.62.31.20
environment:
- NAMESRV_ADDR=mq1:9876;mq2:9876;mq3:9876
- JAVA_OPT_EXT=-Xms3g -Xmx3g -Xmn2g -XX:MetaspaceSize=64m
-XX:MaxMetaspaceSize=128m -XX:MaxGCPauseMillis=200 -XX:MaxDirectMemorySize=512m
-XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=100M
-Xloggc:/home/rocketmq/gclogs/gc.log
depends_on:
- rmqnamesrv
volumes:
# 配置文件从 /opt/rocketmq 加载
-
./broker-b-s/conf/broker.conf:/home/rocketmq/rocketmq-5.3.2/conf/broker.conf
# 将日志和存储挂载到 /data
- /data/rocketmq/broker-b-s/logs:/home/rocketmq/logs
- /data/rocketmq/broker-b-s/store:/home/rocketmq/store
# GC 日志挂载
- /data/rocketmq/broker-b-s/gclogs:/home/rocketmq/gclogs
networks:
- rocketmq
command: sh mqbroker -c /home/rocketmq/rocketmq-5.3.2/conf/broker.conf
restart: unless-stopped
user: "3000:3000"
deploy:
resources:
limits:
cpus: '2.0'
memory: 6G
reservations:
cpus: '1.0'
memory: 4G
rmqproxy-a:
image: apache/rocketmq:5.3.2
container_name: rmqproxy-a
networks:
- rocketmq
depends_on:
- rmqnamesrv
- rmqbroker-a
ports:
- "8080:8080" # Proxy HTTP
- "8081:8081" # Proxy gRPC
restart: unless-stopped
extra_hosts:
- "mq1:192.62.31.18" # 示例:mq1 映射到 192.62.31.18
- "mq2:192.62.31.19" # 示例:mq2 映射到 192.62.31.19
- "mq3:192.62.31.20" # 示例:mq3 映射到 192.62.31.20
user: "3000:3000"
volumes:
# 配置文件从 /opt/rocketmq 加载
- ./proxy/conf/proxy.json:/home/rocketmq/rocketmq-5.3.2/conf/proxy.json
# 将日志挂载到 /data
- /data/rocketmq/proxy/logs:/home/rocketmq/logs
# GC 日志挂载
- /data/rocketmq/proxy/gclogs:/home/rocketmq/gclogs
environment:
- NAMESRV_ADDR=mq1:9876;mq2:9876;mq3:9876
- JAVA_OPT_EXT=-Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=64m
-XX:MaxMetaspaceSize=128m -XX:MaxGCPauseMillis=100 -XX:MaxDirectMemorySize=512m
-XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=100M
-Xloggc:/home/rocketmq/gclogs/gc.log
command: sh mqproxy -pc /home/rocketmq/rocketmq-5.3.2/conf/proxy.json
deploy:
resources:
limits:
cpus: '1.0'
memory: 4G
reservations:
cpus: '0.5'
memory: 2G
networks:
rocketmq:
name: rocketmq
driver: bridge`
broker.conf:
`brokerName=broker-a
brokerId=0
namesrvAddr=mq1:9876;mq2:9876;mq3:9876
brokerRole=ASYNC_MASTER
flushDiskType=SYNC_FLUSH
autoCreateTopicEnable=false
autoCreateSubscriptionGroup=false
storePathRootDir=/home/rocketmq/store
storePathCommitLog=/home/rocketmq/store/commitlog
storePathConsumeQueue=/home/rocketmq/store/consumequeue
storePathIndex=/home/rocketmq/store/index
storePathSslFile=/home/rocketmq/store/ssl
vipChannelEnabled=true
autoDetectAddress=false
listenPort=10911
deleteWhen=04
fileReservedTime=48
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
diskMaxUsedSpaceRatio=88
flushCommitLogLeastPages=1
flushCommitLogThoroughInterval=10000
commitCommitLogLeastPages=1
commitCommitLogThoroughInterval=200
flushConsumeQueueLeastPages=1
flushConsumeQueueThoroughInterval=60000
maxMessageSize=4194304
brokerVIP1=mq1
advertiseAddr=mq1:10911
brokerIP1=mq1
brokerIP2=mq1
messageIndexEnable=true
messageIndexInterval=60000
longPollingEnable=true
slaveReadEnable=false
enableSlaveActingMaster=false
readQueueNums=16
writeQueueNums=16
sendMessageThreadPoolNums=128
pullMessageThreadPoolNums=12
traceTopicEnable=true
enableBuiltInProxy=true
enableProxyProtocol=true
proxyMode=local
proxyGrpcServerPort=8081
proxyHttpServerPort=8080
`
proxy.json:
`{
"namesrvAddr": "mq1:9876;mq2:9876;mq3:9876",
"proxyMode": "local",
"grpcServerPort": 8081,
"remotingListenPort": 8080,
"rocketMQClusterName": "DefaultCluster"
}`
<img width="1888" height="703"
alt="ROCKETMQ_ff57ee50-8c26-448d-984e-ad8b827bbdef"
src="https://github.com/user-attachments/assets/0f798172-1a7f-4b9a-8d7c-dabc017daec0"
/>
图中报错是连到mq3 proxy-c 容器IP了
broker地址莫名奇妙变成容器IP,如下图:
<img width="1885" height="613" alt="image"
src="https://github.com/user-attachments/assets/513e6ac9-e36a-4f24-b850-ef13c9523744"
/>
GitHub link: https://github.com/apache/rocketmq/discussions/9814
----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]