RocketMQ

RocketMQ:
  支持集群,效率高,同时支持上万队列,支持消息持久化,重试机制等等;

RocketMQ包含的组件

  NameServer:单点,供Producer和Consumer获取Broker地址

  Producer:产生并发送消息

  Consumer:接受并消费消息

  Broker:消息暂存,消息转发

 

 

 

RocketMQ优点

  强调集群无单点,可扩展

  任意一点高可用,水平可扩展

  海量消息堆积能力,消息堆积后,写入低延迟。

  支持上万个队列

  消息失败重试机制

  消息可查询

  开源社区活跃

  成熟度

安装RocketMQ
		1.安装JDK
			1.1 检查当前虚拟机环境有没有JDK   rpm -qa|grep java
			1.2 卸载  rpm -e --nodeps xxxxxx
			1.3 安装JDK
				在/usr/local新建一个java文件夹,然后将tar包上传到文件夹下
				切换到/usr/local/java   使用tar  -zxvf xxx解压
				配置/etc/profile文件,加入JDK环境变量
					export JAVA_HOME=/usr/local/java/jdk1.8.0_121  替换自己路径
					export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
					export PATH=$JAVA_HOME/bin:$PATH
				应用文件  source /etc/profile 
				使用java -version查看版本

		2.安装RocketMQ
			2.1 配置/etc/hosts文件
				192.168.7.11 rocketmq-nameserver1
				192.168.7.11 rocketmq-master1
				192.168.7.22 rocketmq-nameserver2
				192.168.7.22 rocketmq-master2
			2.2 重新网卡 service network restart
				
			2.3 上传rocketmq压缩包,上传到/usr/local下
			2.4 切换到/usr/local下解压rocketmq压缩包  tar -zxvf xxxxxx
			2.5 更改解压文件夹名称
				mv alibaba-rocketmq alibaba-rocketmq-3.2.6
			2.6 创建软连接
				ln -s alibaba-rocketmq-3.2.6 rocketmq
			2.7 mkdir /usr/local/rocketmq/store
				mkdir /usr/local/rocketmq/store/commitlog
				mkdir /usr/local/rocketmq/store/consumequeue
				mkdir /usr/local/rocketmq/store/index
			
			2.8 把borker-a.properties 和borker-b.properties 上传到/usr/local/recketmq/conf/2m-noslave
			2.9 master01配置borker-a.properties
					brokerName=broker-a 对应文件名称
					namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
					
				master02配置borker-b.properties
					brokerName=broker-b 对应文件名称
					namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876
			2.10 修改日志
				mkdir -p /usr/local/rocketmq/logs
				cd /usr/local/rocketmq/conf && sed -i 's#${user.home}#/usr/local/rocketmq#g' *.xml
			2.11 配置JVM参数
				vi /usr/local/rocketmq/bin/runbroker.sh
					JAVA_OPT="${JAVA_OPT} -server -Xms1g -Xmx1g -Xmn512m -XX:PermSize=128m -XX:MaxPermSize=320m"
				vi /usr/local/rocketmq/bin/runserver.sh
			2.12 启动NameServer
				cd /usr/local/rocketmq/bin
				启动:nohup sh mqnamesrv &
				jps查看JDK进程是否有NamesrvStartup
				
			2.13 启动BrokerServer
				cd /usr/local/rocketmq/bin
				master01启动:nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-noslave/broker-a.properties >/dev/null 2>&1 &
				master01启动:nohup sh mqbroker -c /usr/local/rocketmq/conf/2m-noslave/broker-b.properties >/dev/null 2>&1 &
				jps查看JDK进程是否有BrokerStartup
		
		3.通过console控制台监控rocketmq状态
			3.1 将Tomcat压缩包上传到虚拟机进行解压  /usr/local  tar -zxvf xxxx解压
			3.2 将rocketmq-web-console.war上传到Tomcat解压目录的webapps下
			3.3 启动Tomcat
				切换到/usr/local/apache-tomcat-7.0.65/bin
				./startup.sh 启动   ./shutdown.sh 停止
			3.4 修改解压后的rocketmq-web-console
				/usr/local/apache-tomcat-7.0.65/webapps/rocketmq-web-console/WEB-INF/classes/config.properties配置文件
				配置:
					rocketmq.namesrv.addr=192.168.7.11:9876;192.168.7.22:9876
					throwDone=true
			3.5 两台机器防火墙关闭
				systemctl stop firewalld.service
				systemctl disable firewalld.service

 

posted @ 2020-02-17 20:11  EXTRA·  阅读(129)  评论(0编辑  收藏  举报