消息中间件 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为例
当你修改好配置文件之后,再次使用 nohup sh ./mqnamesrv & 启动NameServer的时候,看见success就是启动成功了。
注意:上面第六个启动命令,启动时broker会通过私有ip启动,会导致客户端无法远程连接,所以启动之前我们需要修改一下配置文件,修改如下:
由小编我的电脑已经上了年纪,并且也没给它装内存条来保证运行,所以在启动broker的时候还是遇到一直启动不起来,查看nohup.out日志如下还是内存问题,只得再按上面步骤修改broker.sh:
/root/rocketmq-4.2.0/bin/runbroker.sh: line 62: 7250 Killed $JAVA ${JAVA_OPT} [email protected]
然后就是再启动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
补充:
一、我们看看 安装的有些什么东西:
二、nohup命令
nohup命令,它是用来不挂断的运行命令的。如果是和 & 一起使用是让运用程序在后台运行。nohup命令的输出会附加到当前目录的 nohup.out文件中,若当前目录的nohup.out的文件不可写,则会重定向到$HOME/nohup.out 文件中。如果nohup.out文件不能追加信息,则命令失效。还有一点需要注意的是,需要当前用户是正常退出(使用exit)不然还是会出现命令自己结束,不在后台运行了。
三、如何关闭服务
关闭服务: sh mqshutdown namesrv |broker