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