zoukankan      html  css  js  c++  java
  • ansible自动安装rabbitmq

    ansible playbook 安装rabbitmq单机版,以下脚本在CentOS6.7服务器测试通过。

    需要配置本机的yum源,用于安装socat软件。

    rabbitmq版本和Erlang版本需要对应,相关文档见:http://www.rabbitmq.com/which-erlang.html

    可以根据自己需要选择rabbitmq版本(但要到官网查询支持的Erlang,否则安装后无法启动)

     1 ---
     2 - name: install rabbitmq app
     3   gather_facts: False
     4   hosts: "{{ host }}"
     5   user: root
     6   tasks:
     7     - name: time sync
     8       command: /usr/sbin/ntpdate 10.86.1.76
     9       
    10     - name: install require rpm packages
    11       yum: name=socat state=installed
    12 
    13     - name: download erlang package
    14       get_url: url={{ erlang_url }} dest=/tmp/erlang.rpm 
    15 
    16     - name: install erlang packages
    17       yum: name=/tmp/erlang.rpm state=present
    18 
    19     - name: download rabbitmq package
    20       get_url: url={{ rabbitmq_url }} dest=/tmp/rabbitmq-server.rpm
    21 
    22     - name: rpm install rabbitmq-server
    23       yum: name=/tmp/rabbitmq-server.rpm state=present
    24 
    25     - name: start rabbitmq-server
    26       service: name=rabbitmq-server enabled=yes state=restarted
    27 
    28     - name: Enable the plugins is installed
    29       shell: rabbitmq-plugins enable rabbitmq_management && rabbitmq-plugins enable rabbitmq_mqtt && rabbitmq-plugins enable rabbitmq_web_mqtt
    30       notify:
    31         restart rabbitmq-server
    32 
    33     - name: create the rabbitmq user
    34       shell: rabbitmqctl add_user {{ username }} {{ password }}
    35       ignore_errors: yes
    36 
    37     - name: add rabbitmq_user to adminstrator
    38       shell: rabbitmqctl set_user_tags {{ username }} administrator
    39 
    40     - name: configure the rabbitmq_user premission
    41       shell: rabbitmqctl set_permissions -p "/" {{ username }} ".*" ".*" ".*"
    42 
    43     - name: del rabbitmq install pkg
    44       file: path={{ item }} state=absent
    45       with_items:
    46         - /tmp/erlang.rpm
    47         - /tmp/rabbitmq-server.rpm
    48 
    49   handlers: 
    50     - name: restart rabbitmq-server 
    51       service: name=rabbitmq-server state=restarted
    View Code

    使用方法:

    ansible-playbook rabbitmq_install.yml --extra-vars "{'host':'192.168.233.233','erlang_url':'https://github.com/rabbitmq/erlang-rpm/releases/download/v19.3.6.4/erlang-19.3.6.4-1.el6.x86_64.rpm','rabbitmq_url':'http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.14/rabbitmq-server-3.6.14-1.el6.noarch.rpm','username':'mquser','password':'123456'}"

    相关软件下载地址:

    rabbitmq-server下载:http://www.rabbitmq.com/releases/rabbitmq-server/
    Erlang版本支持列表:http://www.rabbitmq.com/which-erlang.html
    Erlang下载:https://github.com/rabbitmq/erlang-rpm/releases

    人们永远没有足够的时间把它做好,但永远有足够的时间重新来过。 可是,因为并不是总有机会重做一遍,你必须做得更好,换句话说, 人们永远没有足够的时间去考虑到底是不是想要它,但永远有足够的时间去为之后悔。 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ 浅掘千口井,不如深挖一口井!当知识支撑不了野心时,那就静下心来学习吧!运维技术交流QQ群:618354452

    个人微信公众号,定期发布技术文章和运维感悟。欢迎大家关注交流。

  • 相关阅读:
    读《大道至简》第一章有感
    jdk和jre的区别
    题解 LA2911
    题解 UVa11461
    题解 UVa10791
    题解 UVa11489
    题解 LA2889
    题解 UVa11609
    题解 UVa11076
    题解 UVa11752
  • 原文地址:https://www.cnblogs.com/miaocbin/p/8029465.html
Copyright © 2011-2022 走看看