搭建RocketMq

安装所需要的所有安装包
在这里插入图片描述
自己可以搜索源码自己打包,也可以自己百度下载,下面的是我的相关软件包,有需要可以自己下载:
https://download.csdn.net/download/qq_26709459/10914562

一、安装JDK并配置好环境变量
下载并安装jdk
详细过程可参考:https://blog.csdn.net/qq_26709459/article/details/80466239
在这里插入图片描述

二、下载RocketMq并安装
①首先解压RocketMq3.2.6

tar -zxvf alibaba-rocketmq-3.2.6.tar.gz

②修改配置
由于RocketMq启动默认设置的内存很大,所以做如下修改(内存大的可以忽视):
进入“bin”目录下,修改如下两个文件

(a)runserver.sh
源文件如下:
在这里插入图片描述
修改如下:

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:PermSize=128m -XX:MaxPermSize=320m"

(b)runbroker.sh

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:PermSize=128m -XX:MaxPermSize=320m"

注:内存配置也可以根据自己配置进行修改,具体配置含义自行百度了解。
③创建配置文件
创建文件“broker.properties”
文件内容如下:

brokerIP1=(本机ip地址)

④启动服务
启动mqnamesrv

nohup sh mqnamesrv &

启动mqbroker

nohup sh ./mqbroker -n localhost:9876 -c broker.properties &

启动之后输入“jps”,就可以看到我们启动的服务了:
在这里插入图片描述

⑤启动rocketmq-console
rocketmq-console源码地址:https://github.com/apache/rocketmq-externals
启动命令如下:

nohup java -jar rocketmq-console-ng-1.0.0.jar &

这时候在输入“jps”就可以看到我们启动的rocketmq-console
在这里插入图片描述

注意:相关服务启动的log文件保存在“/root/logs/…”。
⑥访问
浏览器输入ip:端口便可以通过rocketmq-console进行查询。
注:rocketmq-console启动的配置信息在jar包中“application.properties”中,可根据自己相关信息进行修改。
进入之后可能会看到如下问题:

在这里插入图片描述

只需要执行如下操作即可(运维->
IsUseVIPChannel[开关关闭]->更新):
在这里插入图片描述
⑦关闭服务

sh mqshutdown broker

sh mqshutdown namesrv

关于更多信息以及集群方式,可以百度查阅更新信息。若有更好的安装方案,欢迎交流。

三、使用代码测试
引入jar包

<dependency>  
	    <groupId>com.alibaba.rocketmq</groupId>  
	    <artifactId>rocketmq-client</artifactId>  
	    <version>3.2.3</version>
	</dependency>

生产者:

public static void prodcer() throws Exception {  
        DefaultMQProducer producer = new DefaultMQProducer("ButtonGroup");  
        producer.setNamesrvAddr("192.168.0.106:9876");  
        producer.setInstanceName("Button");  
        producer.start();  
        try {  
            for (int i = 0; i < 3; i++) {  
                Message msg = new Message("TopicA-test", "TagA", (new Date() + "你好" + i).getBytes());  
                SendResult sendResult = producer.send(msg); 
                System.out.println(sendResult);
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        producer.shutdown();  
    }  

消费者:

public static void consumer() throws Exception {  
		DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("ButtonGroup");  
        consumer.setNamesrvAddr("192.168.0.106:9876");  
        consumer.setInstanceName("Button");  
        consumer.subscribe("TopicA-test", "TagA");  
        consumer.registerMessageListener(new MessageListenerConcurrently() {  
            @Override  
            public ConsumeConcurrentlyStatus consumeMessage(  
                    List<MessageExt> msgs, ConsumeConcurrentlyContext context) {  
                for (MessageExt msg : msgs) {  
                    System.out.println(new String(msg.getBody()));  
                }  
                return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;  
            }  
        });  
        consumer.start();  
        System.out.println("Consumer Started.");  
	}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Docker中搭建RocketMQ,您可以按照以下步骤操作: 1. 首先,确保您已经安装了Docker和Docker Compose。 2. 在您的项目目录中创建一个名为`docker-compose.yml`的文件,并将以下内容复制到文件中: ```yaml version: '3' services: namesrv: image: rocketmqinc/rocketmq:4.8.0 container_name: rocketmq-namesrv ports: - 9876:9876 volumes: - ./data/namesrv/logs:/root/logs command: sh mqnamesrv broker: image: rocketmqinc/rocketmq:4.8.0 container_name: rocketmq-broker ports: - 10909:10909 - 10911:10911 environment: - NAMESRV_ADDR=namesrv:9876 volumes: - ./data/broker/logs:/root/logs - ./data/broker/store:/root/store command: sh mqbroker -n namesrv:9876 ``` 3. 创建一个名为`data/namesrv/logs`的文件夹用于存储Namesrv的日志。 4. 创建一个名为`data/broker/logs`和`data/broker/store`的文件夹,用于存储Broker的日志和存储文件。 5. 打开终端,进入到包含`docker-compose.yml`文件的项目目录,并运行以下命令启动RocketMQ: ```bash docker-compose up -d ``` 6. 等待一段时间,RocketMQ将会在Docker容器中启动。您可以使用以下命令查看容器的运行状态: ```bash docker ps ``` 7. 确保Namesrv和Broker容器都处于运行状态后,您可以使用RocketMQ提供的客户端工具进行操作。 这样,您就成功地在Docker中搭建RocketMQ。记得在使用完成后,使用以下命令停止并删除容器: ```bash docker-compose down ``` 希望对您有所帮助!如果有任何疑问,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值