peng-huang-ch commented on issue #88:
URL: https://github.com/apache/rocketmq-docker/issues/88#issuecomment-1719541776

   
   `docker-compose.yml`
   
   ```sh
   version: "3"
   services:
     #Service for nameserver
     rmqnamesrv:
       image: apache/rocketmq:5.1.3
       container_name: rmqnamesrv
       ports:
         - 9876:9876
       environment:
         JAVA_OPT_EXT: "-server -Xms512M -Xmx512M -Xmn128m"
       volumes:
         - ./data/namesrv/logs:/home/rocketmq/logs
       command: sh mqnamesrv
       restart: unless-stopped
   
     rmqbroker:
       image: apache/rocketmq:5.1.3
       container_name: rmqbroker
       depends_on:
         - rmqnamesrv
       ports:
         - 10909:10909
         - 10911:10911
         - 10912:10912
       environment:
         NAMESRV_ADDR: "rmqnamesrv:9876"
         JAVA_OPTS: " -Duser.home=/opt"
         JAVA_OPT_EXT: "-server -Xms512M -Xmx512M -Xmn128m"
       volumes:
         - ./data/broker/logs:/home/rocketmq/logs
         - ./data/broker/store:/home/rocketmq/store
         - ./conf/broker.conf:/opt/conf/broker.conf
       command: sh mqbroker -c /opt/conf/broker.conf 
   
     rmqproxy:
       image: apache/rocketmq:5.1.3
       container_name: rmqproxy
       depends_on:
         - rmqnamesrv
       ports:
         - 8081:8081
       environment:
         NAMESRV_ADDR: "rmqnamesrv:9876"
         JAVA_OPTS: " -Duser.home=/opt"
         JAVA_OPT_EXT: "-server -Xms512M -Xmx512M -Xmn128m"
       volumes:
         - ./data/proxy/logs:/home/rocketmq/logs
         - ./data/proxy/store:/home/rocketmq/store
         - ./conf/proxy.conf:/opt/conf/proxy.conf
       command: sh mqbroker -c /opt/conf/proxy.conf --enable-proxy
     
     dashbord:
       image: apacherocketmq/rocketmq-dashboard:1.0.0
       ports:
         - 18080:8080
       environment:
           JAVA_OPTS: "-Drocketmq.namesrv.addr=rmqnamesrv:9876 
-Dcom.rocketmq.sendMessageWithVIPChannel=false -Duser.timezone='Asia/Shanghai'"
       depends_on:
         - rmqnamesrv
   
   ```
   
   broker.conf & proxy.conf
   ```conf
   # 所属集群名字
   brokerClusterName=rmqnamesrv
   
   # broker 名字,注意此处不同的配置文件填写的不一样,如果在 broker-a.properties 使用: broker-a,
   # 在 broker-b.properties 使用: broker-b
   brokerName=broker-a
   
   # 0 表示 Master,> 0 表示 Slave
   brokerId=0
   
   # nameServer地址,分号分割
   #namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
   namesrvAddr=rmqnamesrv:9876
   
   
   # 启动IP,如果 docker 报 
com.alibaba.rocketmq.remoting.exception.RemotingConnectException: connect to 
<192.168.0.120:10909> failed
   # 解决方式1 加上一句 producer.setVipChannelEnabled(false);,解决方式2 brokerIP1 
设置宿主机IP,不要使用docker 内部IP
   brokerIP1=192.168.31.149
   
   # 在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
   defaultTopicQueueNums=4
   
   # 是否允许 Broker 自动创建 Topic,建议线下开启,线上关闭 !!!这里仔细看是 false,false,false
   autoCreateTopicEnable=true
   
   # 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
   autoCreateSubscriptionGroup=true
   
   # Broker 对外服务的监听端口
   listenPort=10911
   
   # 删除文件时间点,默认凌晨4点
   deleteWhen=04
   
   # 文件保留时间,默认48小时
   fileReservedTime=120
   
   # commitLog 每个文件的大小默认1G
   mapedFileSizeCommitLog=1073741824
   
   # ConsumeQueue 每个文件默认存 30W 条,根据业务情况调整
   mapedFileSizeConsumeQueue=300000
   
   # destroyMapedFileIntervalForcibly=120000
   # redeleteHangedFileInterval=120000
   # 检测物理文件磁盘空间
   diskMaxUsedSpaceRatio=99
   # 存储路径
   # storePathRootDir=/home/ztztdata/rocketmq-all-4.1.0-incubating/store
   # commitLog 存储路径
   # 
storePathCommitLog=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/commitlog
   # 消费队列存储
   # 
storePathConsumeQueue=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/consumequeue
   # 消息索引存储路径
   # storePathIndex=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/index
   # checkpoint 文件存储路径
   # 
storeCheckpoint=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/checkpoint
   # abort 文件存储路径
   # abortFile=/home/ztztdata/rocketmq-all-4.1.0-incubating/store/abort
   # 限制的消息大小
   maxMessageSize=65536
   
   # flushCommitLogLeastPages=4
   # flushConsumeQueueLeastPages=2
   # flushCommitLogThoroughInterval=10000
   # flushConsumeQueueThoroughInterval=60000
   
   # Broker 的角色
   # - ASYNC_MASTER 异步复制Master
   # - SYNC_MASTER 同步双写Master
   # - SLAVE
   brokerRole=ASYNC_MASTER
   
   # 刷盘方式
   # - ASYNC_FLUSH 异步刷盘
   # - SYNC_FLUSH 同步刷盘
   flushDiskType=ASYNC_FLUSH
   
   # 发消息线程池数量
   # sendMessageThreadPoolNums=128
   # 拉消息线程池数量
   # pullMessageThreadPoolNums=12
   
   messageDelayLevel=1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
   ```
   
   启动日志:
   ```sh
    docker compose logs --tail=1000 rmqnamesrv 
    
   rmqnamesrv  | OpenJDK 64-Bit Server VM warning: Using the DefNew young 
collector with the CMS collector is deprecated and will likely be removed in a 
future release
   rmqnamesrv  | OpenJDK 64-Bit Server VM warning: 
UseCMSCompactAtFullCollection is deprecated and will likely be removed in a 
future release.
   rmqnamesrv  | The Name Server boot success. serializeType=JSON, address 
0.0.0.0:9876
   
   docker compose logs --tail=1000 rmqproxy 
   
   rmqproxy  | OpenJDK 64-Bit Server VM warning: Using the DefNew young 
collector with the CMS collector is deprecated and will likely be removed in a 
future release
   rmqproxy  | OpenJDK 64-Bit Server VM warning: UseCMSCompactAtFullCollection 
is deprecated and will likely be removed in a future release.
   rmqproxy  | Thu Sep 14 12:24:26 UTC 2023 rocketmq-proxy startup successfully
   ```
   
   使用 `dashbord` 可以正常的发送消息,但是使用 
[producer](https://github.com/fengmk2/rocketmq-clients/blob/master/golang/example/producer/normal/main.go)
 会报错
   
   ```
   current message type not match with topic accept message types.
   ```
   
   似乎 [RocketMQ 5.0 引入了 TopicMessageType 
的概念](https://github.com/apache/rocketmq/blob/develop/docs/cn/Example_CreateTopic.md),但是调用了
 updateTopic 好像还是有问题
   ```sh
   sh mqadmin updateTopic -n 127.0.0.1:9876 -t txs  -c rmqnamesrv -a 
+message.type=NORMAL
   ```
   
   希望有人能帮忙解决下,😄


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to