消息中间件 RocketMQ的单机安装

近来接触了RocketMQ,我们尝试用单机部署接触其中的魅力。

先按照以下步骤来安装:

#wgwt 下载安装包
1、wget http://www-us.apache.org/dist/rocketmq/4.2.0/rocketmq-all-4.2.0-bin-release.zip

#解压安装
2、unzip rocketmq-all-4.2.0-bin-release.zip -d rocketmq-4.2.0

#进入其bin目录,启动NameServer
3、nohup sh ./mqnamesrv &
   nohup sh bin/mqnamesrv > ./nohup.out 2>&1 &
#RocketMQ的日志会在用户的logs目录下创建一个rocket-mq的日志文件 
4、 tail -f ~/logs/rocketmqlogs/rocketmq_client.log
    less  ~/logs/rocketmqlogs/rocketmq_client.log
#查看成功启动NameServer信息
5. /Server|success

#启动Broker
6、nohup sh ./mqbroker -n localhost:9876 &

#查看broker 日志
7、tail -f ~/logs/rocketmqlogs/broker.log 

#查看成功启动NameServer信息
8、/broker|success

在启动NameServer的时候遇到报错 :没有足够的内存让Java运行时环境继续运行,本机内存不足的情况

解决方法就是修改bin目录下的runserver.sh文件,runbroker.sh文件,tools.sh文件使得指定需要的jvm内存在合理值之内。下面以runserver.sh为例

消息中间件 RocketMQ的单机安装_第1张图片

消息中间件 RocketMQ的单机安装_第2张图片

消息中间件 RocketMQ的单机安装_第3张图片

 当你修改好配置文件之后,再次使用 nohup sh ./mqnamesrv & 启动NameServer的时候,看见success就是启动成功了。

注意:上面第六个启动命令,启动时broker会通过私有ip启动,会导致客户端无法远程连接,所以启动之前我们需要修改一下配置文件,修改如下:

 消息中间件 RocketMQ的单机安装_第4张图片

由于小编我的电脑已经上了年纪,并且也没给它装内存条来保证运行,所以在启动broker的时候还是遇到一直启动不起来,查看nohup.out日志如下还是内存问题,只得再按上面步骤修改broker.sh来降低需要使用的内存空间:

/root/rocketmq-4.2.0/bin/runbroker.sh: line 62:  7250 Killed                  $JAVA ${JAVA_OPT} $@

然后就是再启动broker

nohup sh ./mqbroker -n 公有IP:9876 autoCreateTopicEnable=true -c /usr/local/rocketmq-4.2.0/conf/broker.conf &

#autoCreateTopicEnable是指自动指定topic,通常在测试环境会设为true,而正式环境会设为false
 

再接下来就是测试发送消息,有一堆消息输出即为成功。

#启动安装包自带的测试,生产者生产消息
1、sh ./tools.sh org.apache.rocketmq.example.quickstart.Producer 
#消费者消费消息
2、sh ./tools.sh org.apache.rocketmq.example.quickstart.Consumer 

补充:

一、我们看看 安装的有些什么东西:

消息中间件 RocketMQ的单机安装_第5张图片

二、nohup命令

nohup命令,它是用来不挂断的运行命令的。如果是和 &  一起使用是让运用程序在后台运行。nohup命令的输出会附加到当前目录的 nohup.out文件中,若当前目录的nohup.out的文件不可写,则会重定向到$HOME/nohup.out 文件中。如果nohup.out文件不能追加信息,则命令失效。还有一点需要注意的是,需要当前用户是正常退出(使用exit)不然还是会出现命令自己结束,不在后台运行了。

三、如何关闭服务

关闭服务: sh mqshutdown namesrv |broker 

你可能感兴趣的:(java)