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

最新文章

  1. python 多进程使用总结
  2. java-json日期字符串转换
  3. 修改.gitignore后让其生效
  4. Log4j的ConversionPattern无缝适配到Logback
  5. js实现判断浏览器版本
  6. Color颜色对照表
  7. 如何在 Swift 语言下使用 iOS Charts API 制作漂亮图表?
  8. (转载)UITableView使用详解
  9. 【Spark学习】Apache Spark配置
  10. 关于 java.io.IOException: open failed: EACCES (Permission denied)
  11. 容易忽略的递归当中的return
  12. 本地Windows环境Dubbo搭建测试
  13. SQLAlchemy+Flask-RESTful使用(三)
  14. Confluence 6 MBeans
  15. html5-样式的三种方式
  16. hive2.3.2安装使用
  17. Animation鱼眼效果
  18. php设计模式之工厂设计模式
  19. C#遍历XmlDocument对象所有节点名称、类型、属性(Attribute)
  20. 华为云分布式缓存服务DCS与开源服务差异对比

热门文章

  1. brup去除mozilla等无用数据包的方法
  2. ArcGIS使用技巧(三)——关于投影
  3. 想法子记忆Vi/Vim常用操作及指令
  4. 数据库-mysql索引篇
  5. CentOS8更换yum源后出现同步仓库缓存失败的问题
  6. 攻防世界-MISC:glance-50
  7. 基础学习:社会工程学---利用Kali下的setoolkit进行钓鱼网站制作
  8. Docker 日志管理最佳实践
  9. JuiceFS 在数据湖存储架构上的探索
  10. Android开发的开始