RocketMQ 4.1 下载 编译 配置 启动

    xiaoxiao2021-03-25  113

    去年11月份阿里的rocketMq进入了apache的开源孵化阶段,这个是借鉴的kafa,11年移植过来的java版本,经过淘宝这些年的不断改进,功能已经非常强大;作为技术人员是必须要学习掌握的,今天与同事一起下载安装运行了一下,发现要真想跑起来中间踩了不少坑,不是那么一帆风顺,为了节省后续大家的时间,在这里总结一下;按照这个步骤一定可以跑起来 下载编译 git 地址https://github.com/apache/incubator-rocketmq; 下载release-4.0.0-incubating版本 下载到源码包后解压,进入到源码目录 ,执行maven命令编译打包(maven没有配置过自己去百度): mvn -Dmaven.test.skip=true clean package install assembly:assembly    -p release-all   -U 注意 -p  release-all 参数一定要添加 编译后在target目录下 ,apache-rocketmq-all目录就是包含了所有内容  , apache-rocketmq-all.tar.gz  是它的压缩包; 然后将apache-rocketmq-all.tar.gz,拷贝到linux系统下解压运行; 启动 解压后的目录结构如下: [root@jenkins apache-rocketmq-all]# ll 总用量 44 drwxr-xr-x 2 root root  4096 3月   9 15:16 benchmark drwxr-xr-x 2 root root  4096 3月   9 16:41 bin drwxr-xr-x 5 root root  4096 3月   9 16:42 conf -rw-r--r-- 1 root root   525 3月   9 15:16 DISCLAIMER drwxr-xr-x 2 root root  4096 3月   9 15:16 lib -rw-r--r-- 1 root root 16129 3月   9 15:16 LICENSE -rw-r--r-- 1 root root  1385 3月   9 15:16 NOTICE -rw-r--r-- 1 root root  2362 3月   9 15:16 README.md 进入bin目录下启动脚本 [root@jenkins apache-rocketmq-all]# cd bin [root@jenkins bin]# ll 总用量 100 -rwxr--r-- 1 root root 1654 3月   9 15:38 cachedog.sh -rwxr--r-- 1 root root  845 3月   9 15:38 cleancache.sh -rwxr--r-- 1 root root 1116 3月   9 15:38 cleancache.v1.sh -rw-r--r-- 1 root root 1398 3月   9 15:38 mqadmin -rw-r--r-- 1 root root 1344 3月   9 15:38 mqadmin.xml -rw-r--r-- 1 root root 1394 3月   9 15:38 mqbroker -rw-r--r-- 1 root root 1373 3月   9 15:38 mqbroker.numanode0 -rw-r--r-- 1 root root 1373 3月   9 15:38 mqbroker.numanode1 -rw-r--r-- 1 root root 1373 3月   9 15:38 mqbroker.numanode2 -rw-r--r-- 1 root root 1373 3月   9 15:38 mqbroker.numanode3 -rw-r--r-- 1 root root 1336 3月   9 15:38 mqbroker.xml -rw-r--r-- 1 root root 1400 3月   9 15:38 mqfiltersrv -rw-r--r-- 1 root root 1342 3月   9 15:38 mqfiltersrv.xml -rwxr--r-- 1 root root 1396 3月   9 15:38 mqnamesrv -rw-r--r-- 1 root root 1338 3月   9 15:38 mqnamesrv.xml -rw-r--r-- 1 root root 1571 3月   9 15:38 mqshutdown -rw------- 1 root root  866 3月   9 15:39 nohup.out -rwxr--r-- 1 root root 2214 3月   9 15:38 os.sh -rwxr--r-- 1 root root 1008 3月   9 15:38 play.sh -rw-r--r-- 1 root root  772 3月   9 15:38 README.md -rwxr--r-- 1 root root 2828 3月   9 15:38 runbroker.sh -rwxr--r-- 1 root root 2391 3月   9 15:38 runserver.sh -rwxr--r-- 1 root root 1156 3月   9 15:38 setcache.sh -rwxr--r-- 1 root root 1408 3月   9 15:38 startfsrv.sh -rwxr--r-- 1 root root 1870 3月   9 15:38 tools.sh 我们要执行两个启动脚本,一个是启动nameserver提供路由功能的,一个是启动broker负责消息处理的; 执行启动脚本前,要将脚本中window的中文回车换行替换为linux下的回车换行符,否则运行脚本会出错 进入到bin目录下执行以下命令即可: [root@jenkins bin]# sed -i 's/\r//g'  * 启动nameserver nameserver不需要配置直接启动,执行以下命令 [root@jenkins bin]# nohup sh mqnamesrv & 这个脚本最终调用了runserver.sh脚本,里面配置了jvm启动参数如下 JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:PermSize=128m -XX:MaxPermSize=320m" 默认监听端口为9876 启动broker broker需要配置后才能启动 配置文件存储在conf目录下 drwxr-xr-x 2 root root  4096 3月   9 18:05 2m-2s-async drwxr-xr-x 2 root root  4096 3月   9 18:07 2m-2s-sync drwxr-xr-x 2 root root  4096 3月   9 17:26 2m-noslave -rw-r--r-- 1 root root  1023 3月   9 17:24 broker.conf -rw-r--r-- 1 root root 14235 3月   9 15:16 logback_broker.xml -rw-r--r-- 1 root root  3825 3月   9 15:16 logback_filtersrv.xml -rw-r--r-- 1 root root  3803 3月   9 15:16 logback_namesrv.xml -rw-r--r-- 1 root root  3889 3月   9 15:16 logback_tools.xml 2m-2s-async  这个目录下的配置文件是主从异步的配置文件示例 2m-2s-sync     这个目录下的配置文件是主从同步的配置文件示例 2m-noslave    这个目录下的配置文件是没有从的配置文件示例 随便打开一个broker.conf配置文件,内容如下: #nameserver,broker 的brokerClusterName相同说明他们是在一个集群下; brokerClusterName=DefaultCluster #broker的名称,如果是主从配置,主与从的配置文件这个参数名必须设置为相同的,然后通过brokerId来区分主从;    brokerName=broker-a #来判断是主还是从,主必须是0,从为大于1的值; brokerId=0 deleteWhen=04 fileReservedTime=48 # broker的角色:1. ASYNC_MASTER 异步复制的master;2.  SYNC_MASTER 同步双写的master,slave   brokerRole=ASYNC_MASTER #刷盘:1. ASYNC_FLUSH 异步刷磁盘,性能高 ;2. SYNC_FLUSH同步刷磁盘,性能低 flushDiskType=ASYNC_FLUSH #配置nameserver的ip,多个之间使用分号分隔; namesrvAddr=192.168.2.246:9876;192.168.2.247:9876; namesrvAddr是必须要配置的,配置好后启动broker; [root@jenkins rocketmqlogs]# nohup sh mqbroker -c /var/opt/apache-rocketmq-all/conf/2m-2s-async/broker-a-s.properties & -c 命令来指定配置文件的路径 运行日志 运行起来后输出日志存放在 ~/logs/rocketmqlogs/路径下 [root@jenkins rocketmqlogs]# cd ~/logs/rocketmqlogs/ [root@jenkins rocketmqlogs]# ll -t 总用量 1624 -rw-r--r-- 1 root root   17744 3月   9 20:42 namesrv.log -rw-r--r-- 1 root root 1222480 3月   9 18:52 watermark.log -rw-r--r-- 1 root root  121997 3月   9 18:51 broker.log -rw-r--r-- 1 root root  246306 3月   9 18:51 store.log -rw-r--r-- 1 root root   21977 3月   9 18:49 remoting.log -rw-r--r-- 1 root root       0 3月   9 15:54 commercial.log -rw-r--r-- 1 root root       0 3月   9 15:54 stats.log -rw-r--r-- 1 root root       0 3月   9 15:54 lock.log -rw-r--r-- 1 root root       0 3月   9 15:54 transaction.log -rw-r--r-- 1 root root       0 3月   9 15:54 storeerror.log -rw-r--r-- 1 root root       0 3月   9 15:54 protection.log -rw-r--r-- 1 root root       0 3月   9 15:54 broker_default.log -rw-r--r-- 1 root root       0 3月   9 15:39 namesrv_default.log 如果要修改日志存放路径,到conf目录下修改logback的配置即可; 到此为止broker就启动起来了;
    转载请注明原文地址: https://ju.6miu.com/read-16031.html

    最新回复(0)