Ansible入门篇(九):ElasticSearch自动化安装

版权声明:有不正确的地方,还望各位指正指导,Thanks! https://blog.csdn.net/a544258023/article/details/85229389

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎。

ElasticSearch安装包下载

ElasticSearch官网 对应版本的安装包,本文以ElasticSearch 6.5.4为例。

将下载好的elasticsearch-6.5.0.tar.gz传到/opt/ansible/roles/files目录下,本文将所有tar安装包都进行了重命名操作,比如将elasticsearch-6.5.0.tar.gz解压后重命名为elasticsearch并打成elasticsearch.tar.gz包。

编写主机hosts

编辑/opt/ansible/hosts文件添加部署Kafka机器IP  

[es_servers]
172.18.18.120  
172.18.18.121   
172.18.18.122 
 

编写ElasticSearch配置文件 

将elasticsearch-6.5.0.tar.gz解压后的配置文件elasticsearch.yml和elasticsearch.in.sh修改成自己的配置并重命名为elasticsearch.yml.j2和elasticsearch.in.sh.j2,然后上传到/opt/ansible/roles/templates/ 目录下。由于配置文件较多,本文不进行展示。

编写参数配置main.yml

编辑/opt/ansible/roles/vars/main.yml文件,添加变量  

BigdataDir: /opt/hzgc  

AnsibleDir: /opt/ansible

 编写执行文件elasticsearch.yml 

- hosts: es_servers
  remote_user: root
  roles:
  - roles

  tasks:
   - name: create elsearch user
     user: name=elsearch password={{password}}
     vars:
       password: 123456
   - name: copy /etc/sysctl.conf
     template: src=/etc/sysctl.conf dest=/etc/sysctl.conf
   - name: reload sysctl.conf
     shell: sysctl -p /etc/sysctl.conf
   - name: copy /etc/security/limits.conf
     template: src=/etc/security/limits.conf dest=/etc/security/limits.conf
   - name: copy and unzip es
     unarchive: src={{AnsibleDir}}/roles/files/elasticsearch.tar.gz dest={{BigdataDir}}
   - name: mkdir ditectory for logs data
     file: dest={{BigdataDir}}/elastic/logs mode=0755 state=directory owner=elsearch group=elsearch
   - name: install memory configuration file for es
     template: src={{AnsibleDir}}/roles/templates/elasticsearch.in.sh.j2 dest={{BigdataDir}}/elastic/bin/elasticsearch.in.sh
   - name: install configuration file for es
     template: src={{AnsibleDir}}/roles/templates/elasticsearch.yml.j2 dest={{BigdataDir}}/elastic/config/elasticsearch.yml
  - name: change owner and group
     file: path={{BigdataDir}}/elastic owner=elsearch group=elsearch recurse=yes
   - name: source env
     shell: source /etc/profile
   - name: make elastic permission
     shell: su - elsearch  -c 'chmod +x {{BigdataDir}}/elastic/bin/*'
   - name: start es
     remote_user: root
     shell: su - elsearch  -c '{{BigdataDir}}/elastic/bin/elasticsearch -d'
     tags:
     - start elasticsearch

执行ElasticSearch安装部署 及启动 

ansible-playbook -i hosts  yml/elasticsearch.yml 

查看是否安装成功:jps 

猜你喜欢

转载自blog.csdn.net/a544258023/article/details/85229389