ansible部署java及数据库环境

  wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.1.rpm
  wget https://artifacts.elastic.co/downloads/logstash/logstash-6.3.1.rpm
     wget https://artifacts.elastic.co/downloads/kibana/kibana-6.3.1-x86_64.rpm

1. 安装ansible
    yum install epel-release -y && yum install -y ansible
  配置ansible服务器实现免密登录,配置之后,第一次需要在ansible服务器上ssh 2. 默认配置文件在/etc/ansible加入以下配置[test]服务器组可随意命名 [test] 192.168.0.21 192.168.0.52 3. 创建java及data目录 ----java对应的java环境及中间件,data数据库等 mkdir -pv /etc/ansible/java/roles/{prepare,jdk,redis,zk,mq}/{tasks,files,templates,vars,meta,default,handlers} mkdir -pv /etc/ansible/data/roles/{prepare,es,mysql,kibana,logstash}/{tasks,files,templates,vars,meta,default,handlers} 4. 将软件包移动到对应目录下的files目录

5. 将redis的配置文件修改成如下配置
    bind {{ ansible_default_ipv4.address }}    #获取服务器的ipv4地址
6. 编写每个软件安装的tasks
    jdk:      #前面格式一定要对齐缩进
        - name: mkdir soft dir
          shell: mkdir /soft
        - name: copy jdk
          copy: src=jdk-8u131-linux-x64.rpm dest=/soft
        - name: install jdk
          shell: yum localinstall /soft/jdk-8u131-linux-x64.rpm -y
    mq:
        - name: install activemq
          copy: src=apache-activemq-5.11.0-bin.tar.gz dest=/soft/apache-activemq-5.11.0-bin.tar.gz
        - name: tar activemq
          shell: tar xzf /soft/apache-activemq-5.11.0-bin.tar.gz -C /usr/local/
        - name: copyconffile
          template: src=activemq dest=/etc/init.d
        - name: chmod
          shell: chmod +x /etc/init.d/activemq && chkconfig  --add activemq
        - name: start activemq
          shell: systemctl start activemq
    redis:
        - name: copy redis file
          copy: src=redis-4.0.14.tar.gz dest=/soft
        - name: tar redis
          shell: tar xzf /soft/redis-4.0.14.tar.gz -C /usr/src/
        - name: delete redis conf
          shell: rm -f /usr/src/redis-4.0.14/redis.conf
        - name: install gcc
          shell: yum install -y gcc
        - name: install redis
          shell: cd /usr/src/redis-4.0.14 && make && make PREFIX=/usr/local/redis install
        - name: mkdir redis logfile && conf file
          shell: mkdir /var/log/redis && mkdir /usr/local/redis/conf && mkdir /var/lib/redis
        - name: copyconffile
          template: src=redis.conf dest=/usr/local/redis/conf/redis.conf
        - name: start
          shell: /usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
    zk:
        - name: install zookeeper
          copy: src=zookeeper-3.4.6.tar.gz dest=/soft/
        - name: tar zookeeper
          shell: tar xzf /soft/zookeeper-3.4.6.tar.gz -C /usr/local/
        - name: copy conf file
          copy: src=zoo.cfg dest=/usr/local/zookeeper-3.4.6/conf/zoo.cfg
        - name: mkdir data
          shell: mkdir -p /opt/zookeeper/data
        - name: start zookeeper
          shell: sh /usr/local/zookeeper-3.4.6/bin/zkServer.sh start
7. 在jdk/roles新建site.yml文件
    - name: java_env install
      remote_user: root
      hosts: test
      roles:
         - jdk
         - zk
         - redis
         - mq
8. 执行ansible-playbook
    ansible-playbook -i /etc/ansible/hosts /etc/ansible/java/roles/site.yml
9. 安装data数据环境
    es:        同样将有地址(es,kibana等)的修改为{{ ansible_default_ipv4.address }}
        - name: copy es
          copy: src=elasticsearch-6.3.1.rpm dest=/soft/
        - name: install es
          shell: rpm -ivh /soft/elasticsearch-6.3.1.rpm
        - name: remove es config
          shell: rm -f /etc/elasticsearch/elasticsearch.yml
        - name: copy es config
          template: src=elasticsearch.yml dest=/etc/elasticsearch/
        - name: start es
          service: name=elasticsearch enabled=yes state=started
    jdk:和上面安装java环境一样
    kibana:
        - name: copy kibana
          copy: src=kibana-6.3.1-x86_64.rpm dest=/soft/
        - name: install kibana
          shell: rpm -ivh /soft/kibana-6.3.1-x86_64.rpm
        - name: remove es config
          shell: rm -f /etc/kibana/kibana.yml
        - name: copy kibana config
          template: src=kibana.yml dest=/etc/kibana/
        - name: start kibana
          service: name=kibana enabled=yes state=started
    logstash:
        - name: copy logstash
          copy: src=logstash-6.3.1.rpm dest=/soft/
        - name: install logstash
          shell: rpm -ivh /soft/logstash-6.3.1.rpm
        - name: start es
          service: name=logstash enabled=yes state=started
   mysql:
        - name: copy mysql
          copy: src=mysql-community-release-el7-5.noarch.rpm dest=/soft
        - name: install mysql.rpm
          shell: rpm -ivh /soft/mysql-community-release-el7-5.noarch.rpm
        - name: install mysql
          shell: yum install -y mysql-community-server
        - name: start mysql
          service: name=mysql enabled=yes state=started    
ansible-playbook -i /etc/ansible/hosts  /etc/ansible/data/roles/site.yml
原文地址:https://www.cnblogs.com/The-day-of-the-wind/p/11422693.html