# springboot-rockermq **Repository Path**: gitwjl/springboot-rockermq ## Basic Information - **Project Name**: springboot-rockermq - **Description**: rocketmq 学习 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2024-01-04 - **Last Updated**: 2024-01-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1.下载jar包 wget https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.9.2/rocketmq-all-4.9.2-bin-release.zip unzip -xxx.zip解压 启动 nameServer cd bin --> ./mqnamesrv & 报错: 原因是rocketmq默认启动内存是4G,我们电脑虚拟机一般内存有限,没有这么大内存,所以得修改这个值,把值修改小一点,得修改两个配置文件: runbroker.sh 和runserver.sh # 定位到如下代码 JAVA_OPT="${JAVA_OPT}-server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m" # 修改 "-Xms -Xmx -Xmn" 参数 JAVA_OPT="${JAVA_OPT}-server -Xms512M -Xmx512M -Xmn256M -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m" 修改broker的配置文件broker.conf # broker所属集群的名称 brokerClusterName = DefaultCluster # broker的名称 brokerName = broker-a # broker的ID, 0表示Master,非0表示Slave brokerId = 0 # 删除文件时间点,默认是凌晨4点 deleteWhen = 04 # 文件保留时间,默认保留48小时 fileReservedTime = 48 # broker的角色 # ASYNC_MASTER: 异步复制Master # SYNC_MASTER: 同步双写Master # SLAVE: slave brokerRole = ASYNC_MASTER # 刷盘方式 # ASYNC_FLUSH: 异步刷盘 # SYNC_FLUSH: 同步刷盘 flushDiskType = ASYNC_FLUSH # NameServer的地址,如果有多个的话,使用分号分隔开 namesrvAddr=192.168.179.129:9876 # 当前broker监听的IP地址 brokerIP1=192.168.179.129 brokerIP2=192.168.179.129 # 在发送消息时,自动创建服务器不存在的topic,默认创建4个队列 defaultTopicQueueNums=4 # 是否允许broker自动创建Topic autoCreateTopicEnable=true #是否允许broker自动创建订阅组 autoCreateSubscriptionGroup=true # broker对外服务的监听端口 listenPort=10911 # 每个commitLog文件的大小默认是1G mapedFileSizeCommitLog=1073741824 # ConsumeQueue每个文件默认存30W条 mapedFileSizeConsumeQueue=300000 # store的存储路径 storePathRootDir=/home/test1/tools/rocketmq/rocket/data/store # commitLog的存储路径 storePathCommitLog=/home/test1/tools/rocketmq/rocket/data/store/commitlog # 消费队列的存储路径 storePathConsumeQueue=/home/test1/tools/rocketmq/rocket/data/store/consumequeue # 消息索引的存储路径 storePathIndex=/home/test1/tools/rocketmq/rocket/data/rocket/index # checkpoint文件的存储路径 storeCheckpoint=/home/test1/tools/rocketmq/rocket/data/rocket/checkpoint # abort文件的存储路径 abortFile=/home/test1/tools/rocketmq/rocket/data/rocket/abort # 限制的消息大小,默认为4M maxMessageSize=65536 # 检测物理文件磁盘空间 diskMaxUsedSpaceRatio=75 # 事务回查次数 transactionCheckMax = 3 修改 Broker JVM 参数 vi runbroker.sh #修改如下配置(配置前) JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g" #配置后 JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m" 启动 Broker ./mqbroker -c ../conf/broker.conf & 安装 RocketMQ-Console wget https://github.com/apache/rocketmq-externals/archive/rocketmq-console-1.0.0.tar.gz tar -zxvf rocketmq-console-1.0.0.tar.gz 修改配置文件 vim src/main/resources/applications.properties 修改端口号,namesrvAddr 对应rocketmq中 broker的配置文件broker.conf 的namesrvAddr属性 使用 Maven 命令编译源代码 mvn clean package -DskipTests (需要在pom对应的目录下执行) 运行jar包 编译后在 target 目录下会生成可运行的 jar 包 java -jar rocketmq-console-ng-1.0.0.jar & 报错 :ERROR op=global_exception_handler_print_error org.apache.rocketmq.console.exception.ServiceException: This date have't data! 需要就修改linux 时间,设置为东八区 浏览器中输入 http://localhost:9111 查看是否安装成功