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根目录. 一.静态部署 静态部署指的是我们在服务器启动之前部 ...
随机推荐
- The 18th Zhejiang Provincial Collegiate Programming Contest
The 18th Zhejiang Provincial Collegiate Programming Contest GYM链接 https://codeforces.com/gym/103055 ...
- 几个i的幂的累加公式1^2+2^2+3^2 2~5
1^2+2^2+3^2+--+n^2=n(n+1)(2n+1)/6 1^3+2^3+3^3+...+n^3=(1+2+3+...+n)^2 =[n(n+1)/2]^2 1^4+2^4+3^4+--+n ...
- window 的简单使用
window 的延迟加载 js代码 window的原始用法 (缺点 : 只能使用一次) window.onload = function() { var btn = document.querySel ...
- 终极套娃 2.0|云原生 PaaS 平台的可观测性实践分享
某个周一上午,小涛像往常一样泡上一杯热咖啡 ️,准备打开项目协同开始新一天的工作,突然隔壁的小文喊道:"快看,用户支持群里炸锅了 -" 用户 A:"Git 服务有点问题, ...
- Kafka生成消息时的3种分区策略
摘要:KafkaProducer在发送消息的时候,需要指定发送到哪个分区, 那么这个分区策略都有哪些呢? 本文分享自华为云社区<Kafka生产者3中分区分配策略>,作者:石臻臻的杂货铺. ...
- EntityFramwork常见问题
1.常用的语句有哪些 添加migration dotnet ef migrations add [MIgrationName] 删除刚添加的migration dotnet ef ...
- [操作系统]LINUX进程状态说明
R(task_running) : 可执行状态 只有在该状态的进程才可能在CPU上运行.而同一时刻可能有多个进程 处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的 ...
- Docker将镜像文件发布到阿里云
一.创建新镜像文件 1.创建容器并在容器内创建一个文件夹 在容器内创建一个新文件主要是为了代表这个容器非镜像文件直接创建的容器,而是通过自定义在容器内创建了属于自己的文件 2.提交容器副本使之成为一个 ...
- linux系统平均负载高(load average)
系统平均负载高(load average) 问题现象 两个案例都是:系统平均负载高,但cpu,内存,磁盘io都正常 什么是系统平均负载 平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进 ...
- vue中blob文件下载及其它下载方式
一.Blob对象的了解 1:blob表示一个不可变.原始数据的类文件对象.Blob()构造函数返回一个新的blob对象:blob对象的内容由参数给出的值串联组成: 2:new Blob(array, ...