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

ansible部署java及数据库环境的更多相关文章

  1. [ jenkins ] git+jenkins+maven + ansible 部署java程序

    1. 工具介绍 git:版本控制,一般都是托管到代码仓库的.如 github.coding.gitlab (本文以 coding 为例) jenkins:持续集成工具之一,也是最常用的工具,主要工作就 ...

  2. 新手小白Linux(Centos6.5)部署java web项目(总)

    一.准备 1.linux  centos版本的相关命令操作,千万别找ubuntu的,好多命令都不一样,新手小白我傻傻不知道硬是浪费了一天的时间……(百度百科linux版本了解一下) 2.远程登录: P ...

  3. 使用ansible部署CDH 5.15.1大数据集群

    使用ansible离线部署CDH 5.15.1大数据集群 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在此之前,我之前分享过使用shell自定义脚本部署大数据集群,不管是部署CD ...

  4. 阿里云部署Java web项目初体验(转)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在 ...

  5. 如何在tomcat中如何部署java EE项目

    如何在tomcat中如何部署java EE项目 1.直接把项目复制到Tomcat安装目录的webapps目录中,这是最简单的一种Tomcat项目部署的方法,也是初学者最常用的方法.2.在tomcat安 ...

  6. 阿里云部署Java web项目初体验(转)/linux 上配置jdk和安装tomcat

    摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在阿里云上部署Java web项目. 一.准备工作 购买了阿里云的云解析,和云服务器ecs. 2.下载put ...

  7. 【转】Tomcat中部署java web应用程序

    http://www.blogjava.net/jiafang83/archive/2009/06/02/279644.html 转载:今天给大家介绍怎样在Tomcat5.5.9中部署Java Web ...

  8. 在Service Fabric上部署Java应用,体验一把微服务的自动切换

    虽然Service Fabric的Java支持版本还没有正式发布,但是Service Fabric本身的服务管理.部署.升级等功能是非常好用的,那么Java的开发者可以如何利用上Service Fab ...

  9. 在Tomcat中部署Java Web应用程序

    在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署.在下文中$CATALINA_HOME指的是Tomcat根目录. 一.静态部署      静态部署指的是我们在服务器启动之前部 ...

随机推荐

  1. jquery的常用API

    1, 增 $('body').append('<h1>大标题</h1>') $('body').append('<h2>二标题</h2>') $('&l ...

  2. OpenHarmony 3.1 Beta版本关键特性解析——OpenHarmony图形框架

    (以下内容来自开发者分享,不代表 OpenHarmony 项目群工作委员会观点) 李煜 华为技术有限公司 崔坤华为技术有限公司 众所周知,动画是系统和应用与用户交互的重要环节.动画效果的好坏会直接影响 ...

  3. 让视障者的网络之路少一些障碍——微软为 Edge 浏览器开发自动图像描述功能并呼吁网页作者补充图片的替换说明

    网页是互联网的组成部分,浏览器是开启互联网大门的钥匙.对于生活在信息时代下的我们而言,每一个人都很难离开网络而生活,其中也包括盲人这一残障群体. 本文的引子是如下一条新闻: IT之家3月18日消息,微 ...

  4. HMS Core 6.4.0版本发布公告

    支持转化事件回传至华为应用市场商业推广,便捷归因,实时调优: 卸载分析新增卸载前路径分析,深度剖析卸载根因. 查看详情 新增关键帧能力,通过关键帧点可实现图片.文字等位置移动.旋转等动态效果,比如文字 ...

  5. MySQL进阶之常用函数

    我的小站 有时候,除了简单的数据查询,我们还有一些高级的函数. MySQL 包含了大量并且丰富的函数,这套 MySQL 函数大全只收集了几十个常用的,剩下的比较罕见的函数我们就不再整理了,读者可以到M ...

  6. 真实本人亲测Elasticsearch未授权访问漏洞——利用及修复【踩坑指南到脱坑!】

    如要转载请注明出处谢谢: https://www.cnblogs.com/vitalemontea/p/16105490.html 1.前言 某天"发现"了个漏洞,咳咳,原本以为这 ...

  7. 关于LVS中默认的DR模型图

    虽然常用,但是关于DR模型最大的一个缺点就是Director和RS必须在同一个网络中,通过交换机连接,中间不能有路由

  8. JDBC:加载数据库驱动、连接数据库(详细讲解)

    加载数据库驱动: 1)由于Java是一个纯面向对象语言,任何事物在其中都必须抽象成类或者类对象,数据库也不例外,JDBC同样也把数据库抽象成面向对象的结构: 2)JDBC将整个数据库驱动器在底层抽象成 ...

  9. typeScript类型总结

    1.对象类型 {} 用来指定对象中可以包含哪些属性,在属性名后加?表示属性是可选的 语法:{属性名:属性值类型,属性名:属性值类型} 示例: let a:{name:string,age?:numbe ...

  10. p2p-tunnel 打洞内网穿透系列(一)客户端配置及打洞

    系列文章 p2p-tunnel 打洞内网穿透系列(一)客户端配置及打洞 p2p-tunnel 打洞内网穿透系列(二)TCP转发访问远程共享文件夹 p2p-tunnel 打洞内网穿透系列(三)TCP转发 ...