美文网首页程序员
在linux上部署rocketMQ

在linux上部署rocketMQ

作者: 笨笨翔 | 来源:发表于2018-09-26 15:47 被阅读16次

环境

阿里云:centos7服务器

1. 下载源码

wget htt://mirrors.hust.edu.cn/apache/rocketmq/4.3.0/rocketmq-all-4.3.0-source-release.zip

2. 构建

  > unzip rocketmq-all-4.3.0-source-release.zip
  > cd rocketmq-all-4.3.0/
  > mvn -Prelease-all -DskipTests clean install -U
  > cd distribution/target/apache-rocketmq

3. 启动名称服务器

  > nohup sh bin/mqnamesrv &
  > tail -f ~/logs/rocketmqlogs/namesrv.log
  The Name Server boot success...

如果在启动服务器的时候报:
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000006c0000000, 2147483648, 0) failed; error='Cannot allocate memory' (errno=12)
那么需要调整rocketMQ的内存

> vim bin/runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms128m -Xmx256m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=320m"

-Xms 的值一定要比 -Xmx  要小不让,也会报错:如下
Initial heap size set to a larger value than the maximum heap size

设置好后启动,
# 启动日志
 ⚡ ⚙ root@iZbp1a727tp99dumb5yskuZ  ~/download/rocketmq-all-4.3.0/distribution/target/apache-rocketmq  tail -f ~/logs/rocketmqlogs/namesrv.log
2018-09-26 11:28:48 INFO main - tls.client.keyPath = null
2018-09-26 11:28:48 INFO main - tls.client.keyPassword = null
2018-09-26 11:28:48 INFO main - tls.client.certPath = null
2018-09-26 11:28:48 INFO main - tls.client.authServer = false
2018-09-26 11:28:48 INFO main - tls.client.trustCertPath = null
2018-09-26 11:28:49 INFO main - Using OpenSSL provider
2018-09-26 11:28:49 INFO main - SSLContext created for server
2018-09-26 11:28:49 INFO NettyEventExecutor - NettyEventExecutor service started
2018-09-26 11:28:49 INFO main - The Name Server boot success. serializeType=JSON
2018-09-26 11:28:49 INFO FileWatchService - FileWatchService service started

4. 启动broker

 # autoCreateTopicEnable=true 参数可以在启动Broker时指定自动创建Topic:
 > nohup sh bin/mqbroker -n localhost:9876 autoCreateTopicEnable=true &
 > tail -f ~/logs/rocketmqlogs/broker.log 
 The broker[%s, ip:port] boot success...

如果在启动服务器的时候报:
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005c0000000, 8589934592, 0) failed; error='Cannot allocate memory' (errno=12)
那么需要调整broker的内存

> vim bin/runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"
设置好后启动,
# 启动日志
2018-09-26 11:35:51 WARN main - Load default transaction message hook service: TransactionalMessageServiceImpl
2018-09-26 11:35:51 WARN main - Load default discard message hook service: DefaultTransactionalMessageCheckListener
2018-09-26 11:35:52 INFO FileWatchService - FileWatchService service started
2018-09-26 11:35:52 INFO PullRequestHoldService - PullRequestHoldService service started
2018-09-26 11:35:52 INFO brokerOutApi_thread_1 - register broker to name server localhost:9876 OK
2018-09-26 11:35:52 INFO main - Start transaction service!
2018-09-26 11:35:52 INFO main - The broker[iZbp1a727tp99dumb5yskuZ, 172.16.61.95:10911] boot success. serializeType=JSON and name server is localhost:9876
2018-09-26 11:36:01 INFO BrokerControllerScheduledThread1 - dispatch behind commit log 0 bytes
2018-09-26 11:36:01 INFO BrokerControllerScheduledThread1 - Slave fall behind master: 0 bytes
2018-09-26 11:36:02 INFO brokerOutApi_thread_2 - register broker to name server localhost:9876 OK

5. 发送和接收消息

 > export NAMESRV_ADDR=localhost:9876
 > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
 SendResult [sendStatus=SEND_OK, msgId= ...

 > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
 ConsumeMessageThread_%d Receive New Messages: [MessageExt...

6. 关闭服务器

> sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker(36695) OK

> sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK

参考:rocketmq官方文档

相关文章

  • 在linux上部署rocketMQ

    环境 阿里云:centos7服务器 1. 下载源码 2. 构建 3. 启动名称服务器 如果在启动服务器的时候报:J...

  • Linux下单节点rocketmq的部署

    背景 本文主要介绍在Linux下如何部署rocketmq 本次部署的版本为5.0之前最后一个正式版本4.9.0 使...

  • RocketMQ 集群部署结构和模式

    1、RocketMQ 集群物理部署结构 RocketMQ 物理部署结构 RocketMQ的部署结构有以下特点: N...

  • RocketMQ产品架构

    RocketMQ产品架构 RocketMQ产品架构部署要求系统部署架构订阅模式 部署要求 消息队列 RocketM...

  • Apache RocketMQ单机部署

    前言 这篇文章以4.3.0版本为标准进行讲述在linux下部署RocketMQ单机实例,在此之前需要已配置JAVA...

  • Linux 安装和部署rocketmq

    阿里巴巴其中一个核心分布式技术是RocketMq ,作为一款分布式的消息中间件,经过了淘宝双十一的洗礼,在功能...

  • rocketmq总目录

    实战 rocketmq最简单的入门demo rocketmq的常用概念,接口和方法 rocketmq的正式部署 高...

  • RocketMQ学习

    RocketMQ 学习 安装部署** 下载rocketmq解压:下载地址 启动nameserver,进入bin目录...

  • docker-compose安装rocketmq

    部署说明 应用名称端口rocketmq-namesrv9876:9876rocketmq-broker10909:...

  • RocketMQ部署-docker+k8s部署

    前言 前面已经讲述过关于基于docker生成RocketMQ部署镜像,并在docker中部署及高可用部署的文章。在...

网友评论

    本文标题:在linux上部署rocketMQ

    本文链接:https://www.haomeiwen.com/subject/rxrdoftx.html