阅读量:7
目录
前置条件:两台虚拟机CentOS Linux release 7.5.1804(ps:当然也可以都部署在一台机器上)
RocketMq属于天生集群。需要同时启动nameServer和Broker进行部署,在通过Dashboard进行监控,所以要安装三个东西。
当前在这之前还需要安装JDK
yum -y install java-1.8.0-openjdk-devel.x86_64 sudo cat >> /etc/profile <<-'EOF' export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH EOF source /etc/profile echo $JAVA_HOME
1.安装NameServer
下载压缩包后通过
#进行解压 unzip rocketmq-all-5.3.0-bin-release.zip cd 到对应解压压缩包内 #修改runserver sed -i 's/-Xms4g -Xmx4g -XX:MetaspaceSize=128m/-Xms1g -Xmx1g -XX:MetaspaceSize=128m/g' ./bin/runserver.sh #nameServer默认使用9876端口,如果使用虚拟机启动可以忽略这行 firewall-cmd --zone=public --add-port=9876/tcp --permanent firewall-cmd --reload # 非后台启动 # sh ./bin/mqnamesrv #后台启动并查看日志 nohup sh ./bin/mqnamesrv > nqnamesrv.log &
查看启动日志cat nqnamesrv.log 如果输出结果是seccess则表示启动成功
2.安装Broker
在另外一台的虚拟机上,也需要
#进行解压 unzip rocketmq-all-5.3.0-bin-release.zip cd 到对应解压压缩包内 #修runbroker sed -i 's/-Xms8g -Xmx8g/-Xms1g -Xmx1g/g' ./bin/runbroker.sh #创建broker的的配置 cat > single-master.properties <<-'EOF' #集群名称,同一个集群下的broker要求统一 brokerClusterName=DefaultCluster #broker名称 brokerName=broker-a #brokerId=0代表主节点,大于零代表从节点 brokerId=0 #删除日志文件时间点,默认凌晨 4 点 deleteWhen=04 #日志文件保留时间,默认 48 小时 fileReservedTime=48 #Broker 的角色 #- ASYNC_MASTER 异步复制Master #- SYNC_MASTER 同步双写Master brokerRole=SYNC_MASTER #刷盘方式 #- ASYNC_FLUSH 异步刷盘,性能好宕机会丢数 #- SYNC_FLUSH 同步刷盘,性能较差不会丢数 flushDiskType=SYNC_FLUSH #末尾追加,NameServer节点列表,使用分号分割 namesrvAddr=192.168.10.100:9876 autoCreateTopicEnable=true EOF #防火墙设置 firewall-cmd --zone=public --add-port=10911/tcp --permanent firewall-cmd --reload #启动日志 #sh ./bin/mqbroker -c ./single-master.properties nohup sh ./bin/mqbroker -c ./single-master.properties > broker.log &
查看cat broker.log ,如果为success则表示启动成功
3.使用自带工具测试数据发送
在nameServer端
export NAMESRV_ADDR=192.168.10.100:9876 sh tools.sh org.apache.rocketmq.example.quickstart.Producer
在broker端接收消息
export NAMESRV_ADDR=192.168.10.100:9876 sh tools.sh org.apache.rocketmq.example.quickstart.Consumer
4.使用DashBoard进行查看
https://github.com/apache/rocketmq-dashboard
仓库服务 (aliyun.com) rocketmq-dashboard
默认启动是8080端口
nohup java -jar rocketmq-dashboard-1.0.0.jar > dashboard.log &
启动访问地址http://192.168.10.100:8080/
5.关闭相关设备
# 停止NameServer sh bin/mqshutdown namesrv # 停止Broker sh bin/mqshutdown broker #查看关闭是否成功,如果没有返回结果则表示关闭成功 ss -anp | grep 9876 ss -anp | grep 10911
6.启动脚本
虚拟机安装完之后每次启动都很麻烦,所以补充一个一件启动脚本
vim start_mq.sh #!/bin/bash nohup sh /home/nameSrv/bin/mqnamesrv > /home/nameSrv/nqnamesrv.log 2>&1 & nohup sh /home/brokerSrv/bin/mqbroker -c /home/brokerSrv/single-master.properties > /home/brokerSrv/broker.log 2>&1 & nohup java -jar /home/mq-dash.jar > /home/dashboard.log 2>&1 & chmod 777 start_mq.sh #再次重启 sh ./路径/start_mq.sh