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