zoukankan      html  css  js  c++  java
  • rocketmq安装(一)

    一、 RocketMQ是什么

    官网地址:http://rocketmq.apache.org/

    RocketMQ是由阿里捐赠给Apache的一款分布式、队列模型的开源消息中间件,经历了淘宝双十一的洗礼。其实了解点RocketMQ的人应该知道,他是借鉴了kafka和rabbitMQ里面很多东西用java语言写出来的,这决定了具有两家之所长的优势,但同时因为他是java语言写的,导致他在很多方面性能并没有rabbitMQ和kafka那么好,例如由于他是java写的导致他消耗的内存资源是很大的,是别的MQ的好几倍;但由于目前在国内很多公司都在推行这个中间件的应用,所以有兴趣的也可以了解下;

    二、 RocketMQ基本概念

    Client端

    • Producer Group 一类Producer的集合名称,这类Producer通常发送一类消息,且发送逻辑一致
    • Consumer Group 一类Consumer的集合名称,这类Consumer通常消费一类消息,且消费逻辑一致

    Server端

    • Broker 消息中转角色,负责存储消息,转发消息,这里就是RocketMQ Server
    • Topic 消息的主题,用于定义并在服务端配置,消费者可以按照主题进行订阅,也就是消息分类,通常一个系统一个Topic
    • Message 在生产者、消费者、服务器之间传递的消息,一个message必须属于一个Topic 消息是要传递的信息。邮件中必须包含一个主题,该主题可以解释为要发送给您的信的地址。消息还可能具有可选标签和额外的键值对。例如,您可以为消息设置业务密钥,然后在代理服务器上查找消息以在开发过程中诊断问题。
    • Namesrver 一个无状态的名称服务,可以集群部署,每一个broker启动的时候都会向名称服务器注册,主要是接收broker的注册,接收客户端的路由请求并返回路由信息
    • Offset 偏移量,消费者拉取消息时需要知道上一次消费到了什么位置, 这一次从哪里开始
    • Partition 分区,Topic物理上的分组,一个Topic可以分为多个分区,每个分区是一一个有序的队列。 分区中的每条消息都会给分配一个有序的ID,也就是偏移量,保证了顺序,消费的正确性
    • Tag 用于对消息进行过滤,理解为message的标记,同一业务不同目的的message可以用相同的topic但是 可以用不同的tag来区分
    • key 消息的KEY字段是为了唯- -表示消息的,方便查问题,不是说必须设置,只是说设置为了方便开发和运维定位问题。 比如:这个KEY可以是订单ID等

    三、下载与安装

     上面是下载网址,如果不想离线下载也可以用命令

    cd /opt/soft # 下载二进制安装包 
    wget https://archive.apache.org/dist/rocketmq/4.7.1/rocketmq-all-4.7.1-bin- release.zip 
    # 如果没有安装unzip
    yum install -y unzip 
    # 解压 
    unzip rocketmq-all-4.7.1-bin-release.zip 
    # 创建软链
     ln -s /opt/soft/rocketmq-all-4.7.1-bin-release /usr/local/rocketmq 
    修改runserver.sh,把内存调小,如果不调占用资源比较大,在生产环境中可以看服务器性能调配置,我是个人电脑怕抗不住

     同理, 修改runbroker.sh,把内存调小 

     进入bin目录

    cd /usr/local/rocketmq/bin
    启动 NameServer
    # 启动nameserver 
    nohup /usr/local/rocketmq/bin/mqnamesrv & 
    # 关闭
     /usr/local/rocketmq/bin/mqshutdown namesrv 

    输入以下命令查看日志文件,我第一次输入时查无日志文件,说明我启动失败了,原因就是我内存不足失败,所以我把三个JVM的参数都调整到256m 256m 128m了然后就成功了,查看资源命令是free -h,其中最后一个值就是你的可用资源还有多少

    tail -f /root/logs/rocketmqlogs/

     查看端口是否起来

     修改broker.conf文件,增加本地IP,如果不写在程序访问时会报错,broker.conf文件在conf文件夹下

    启动 Broker:
    
    # 启动broker,在安装包根目录下
    nohup sh bin/mqbroker -n 192.168.32.128:9876 -c /usr/local/rocketmq/conf/broker.conf &
    # 关闭 
    /usr/local/rocketmq/bin/mqshutdown broker

     

    启动成功

    这短短的一生我们最终都会失去,不妨大胆一点,爱一个人,攀一座山,追一个梦
  • 相关阅读:
    C#中NULL,"",DBNULL,String.Empty,Convert.IsDBNull()的区别
    vs 扩展和更新下载的插件在什么位置呢,看看吧,哈哈
    全面了解 Nginx 主要应用场景
    Nginx配置详解
    ulimit -n 修改
    mysql系列十一、mysql优化笔记:表设计、sql优化、配置优化
    java.net.UnknownHostException 异常处理
    Oracle 11G在用EXP 导出时,空表不能导出解决
    expdp和impdp导入和导出数据
    CentOS6.5运行yum报错:No module named yum
  • 原文地址:https://www.cnblogs.com/xing1/p/15489699.html
Copyright © 2011-2022 走看看