美文网首页
1-rabbitmq安装配置

1-rabbitmq安装配置

作者: lj72808up | 来源:发表于2019-12-15 14:20 被阅读0次

一. 启停服务

  1. 开启管理界面

    1. 启动插件:
     $ rabbitmq-plugins enable rabbitmq_management
    
    1. (可选)增加用户admin
    # 用户名:admin, 密码: admin 
    $ rabbitmqctl add_user admin admin
    
    # 设置admin用户的管理员权限
    $ rabbitmqctl set_user_tags admin administrator
    
     # 显示用户列表和权限
    $ rabbitmqctl list_users
    Listing users ...
    user    tags
    admin   [administrator]
    guest   [administrator]
    
    1. 端口占用15672: WEB管理页面
      broker会默认创建一个guest用户, 密码也是guest
  2. 开启rabbitmq-server

    service rabbitmq-server start
    

二. 修改最大文件打开个数

rabbitmq主要修改配置是文件最大打开个数, 以此应对更多的客户端连接; 有2个维度的配置:

  1. ulimit -n: 每个用户允许的最大文件打开个数

    • 查看
    $ ulimit -n
    1700000
    
    • 设置

      • 临时性
        通过ulimit -Sn设置最大打开文件描述符数的soft limit. 注意soft limit不能大于hard limit(ulimit -Hn可查看hard limit),另外ulimit -n默认查看的是soft limit,但是ulimit -n 1800000则是同时设置soft limithard limit。对于非root用户只能设置比原来小的hard limit。

        • 查看hard limit:
        $ ulimit -Hn
        1700000
        
        • 设置soft limit,必须小于hard limit:
        $ ulimit -Sn 1600000
        
      • 永久性
        上面的方法只是临时性的,注销重新登录就失效了,而且不能增大hard limit,只能在hard limit范围内修改soft limit。若要使修改永久有效,则需要在/etc/security/limits.conf中进行设置(需要root权限),可添加如下两行,表示用户chanon最大打开文件描述符数的soft limit为1800000,hard limit为2000000。以下设置需要注销之后重新登录才能生效:

      chanon           soft    nofile          1800000
      chanon           hard   nofile          2000000
      

      设置nofile的hard limit还有一点要注意的就是hard limit不能大于/proc/sys/fs/nr_open,假如hard limit大于nr_open,注销后无法正常登录。可以修改nr_open的值:

      $ echo 2000000 > /proc/sys/fs/nr_open
      # 推荐至少配置成65536对于用户`rabbitmq`的fd个数, 一般情况下4096就银镜足够
      
  2. fs.file-max : os kernel允许的最大文件打开个数

    • 查看
    $ cat /proc/sys/fs/file-max
    186405
    
    • 设置
      • 临时性
      # echo 1000000 > /proc/sys/fs/file-max
      
      • 永久性:在/etc/sysctl.conf中设置
      fs.file-max = 1000000
      

三. 日志文件和管理

  1. rabbitmq日志文件默认位置在: /var/log/rabbitmq
  2. 日志只会以追加形式记录, 默认每周对日志文件rotate.
    采用工具logrotate进行日志rotate, rotate的策略在/etc/logrotate.d/rabbitmq-server中配置

四. Production Checklist

  1. Virtual Hosts

    • 单租户(single-tenant)场景下, 使用默认的/ virtual host即可
    • 多租户(multi-tenant)下, 应该使用不同的vhost; 比如project1_development, project1_production, project2_development, project2_production等等
  2. Users
    生产环境下, 应该为每个application设置一个用户. 比如你分别有a mobile app, a Web app, and a data aggregation system, 就应该为这3个应用设置3个用户

  3. 内存

    • 默认情况下, 当rabbitmq占用内存超过全部内存的40%{vm_memory_high_watermark, 0.4}时,将不会再继续接受任何消息. 这是为了预留足够的空间进行os swapping. 如果占用内存过大反而可能会导致rabbitmq的性能下降甚至死亡
    • vm_memory_high_watermark可以配置成0.40到0.66. 超过0.7是不允许的. 至少要预留30%的内存, 否则会因为os paging造成rabbitmq性能严重下降
  4. 磁盘

相关文章

网友评论

      本文标题:1-rabbitmq安装配置

      本文链接:https://www.haomeiwen.com/subject/pygknctx.html