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
ansible部署java及数据库环境的更多相关文章
- [ jenkins ] git+jenkins+maven + ansible 部署java程序
1. 工具介绍 git:版本控制,一般都是托管到代码仓库的.如 github.coding.gitlab (本文以 coding 为例) jenkins:持续集成工具之一,也是最常用的工具,主要工作就 ...
- 新手小白Linux(Centos6.5)部署java web项目(总)
一.准备 1.linux centos版本的相关命令操作,千万别找ubuntu的,好多命令都不一样,新手小白我傻傻不知道硬是浪费了一天的时间……(百度百科linux版本了解一下) 2.远程登录: P ...
- 使用ansible部署CDH 5.15.1大数据集群
使用ansible离线部署CDH 5.15.1大数据集群 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在此之前,我之前分享过使用shell自定义脚本部署大数据集群,不管是部署CD ...
- 阿里云部署Java web项目初体验(转)
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在 ...
- 如何在tomcat中如何部署java EE项目
如何在tomcat中如何部署java EE项目 1.直接把项目复制到Tomcat安装目录的webapps目录中,这是最简单的一种Tomcat项目部署的方法,也是初学者最常用的方法.2.在tomcat安 ...
- 阿里云部署Java web项目初体验(转)/linux 上配置jdk和安装tomcat
摘要:本文主要讲了如何在阿里云上安装JDK.Tomcat以及其配置过程.最后以一个实例来演示在阿里云上部署Java web项目. 一.准备工作 购买了阿里云的云解析,和云服务器ecs. 2.下载put ...
- 【转】Tomcat中部署java web应用程序
http://www.blogjava.net/jiafang83/archive/2009/06/02/279644.html 转载:今天给大家介绍怎样在Tomcat5.5.9中部署Java Web ...
- 在Service Fabric上部署Java应用,体验一把微服务的自动切换
虽然Service Fabric的Java支持版本还没有正式发布,但是Service Fabric本身的服务管理.部署.升级等功能是非常好用的,那么Java的开发者可以如何利用上Service Fab ...
- 在Tomcat中部署Java Web应用程序
在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署.在下文中$CATALINA_HOME指的是Tomcat根目录. 一.静态部署 静态部署指的是我们在服务器启动之前部 ...
随机推荐
- JavaWeb学习第一阶段结束
模仿狂神实现简单的用户增删改查,增加了前端登录时的密码验证 JavaWeb学习第一阶段结束,相较于第一阶段的一味学习,第二阶段想拿出更多的时间来阅读别人的源码以及跟着做简单的小项目,同时进一步深入学习 ...
- java的Integer中也会有缓存
在上篇<java的自动拆箱会发生NPE>博客中接收了java中的Integer中的自动拆箱产生的NPE,其实对于所有的包装类来说都是一样的,都会产生这样的问题,大家需要举一反三,做学问学知 ...
- 反射解决微信开发加解密illegal key size,不需要修改JDK jar包
在微信开发时,消息接口时,涉及到消息加密,抛出了 java.security.InvalidKeyException: Illegal key size 的异常,异常堆栈如下: 按照网上的解决方案,都 ...
- Jquery_HTML-对HTML内容删除添加、操作CSS改变样式、遍历定位元素
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...
- docker:compose实战
1.用docker-compose拉起三个容器:nginx->ghost博客平台->mysql,拉起后可以直接访问ghost博客平台 2.目录结构: ghost: data docker- ...
- XCTF练习题---WEB---robots
XCTF练习题---WEB---robots flag:cyberpeace{6c4b08933075fc620d16d1157ee07a7e} 解题步骤: 1.观察题目,打开场景 2.打开实验场景, ...
- 安装与基本配置DHCP服务器
一,安装DHCP服务器角色 1,打开[开始]→[管理工具]→[服务器管理器]→"仪表板"选项的[添加角色和功能],持续单机[下一步]按钮, 直至出现下图所示的"选择服务器 ...
- Docker从入门到放弃(1) Docker简介与安装
目录 一.Docker简介 1.Docker是什么: 2.为什么有docke的出现: 3.docker与传统容器的区别: 4.docker基本组成 5.docker工作原理: 二.Docker安装 ...
- 神器 Nginx 的学习手册 ( 建议收藏 )
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强,事实上 ...
- 5.文件共享总结中篇-Linux服务器文件共享
今天我们来讨论Linux系统之间的文件共享,包含:SCP.FTP.rz / sz.wget 一.SCP 其实我在写SSH协议常见问题排错章节中已介绍其SCP用法. 现我把SCP常用语法格式,给大家说下 ...