美文网首页Ansibleansible
Ansible Role 日志分析 之【elasticsearc

Ansible Role 日志分析 之【elasticsearc

作者: lework | 来源:发表于2017-08-13 15:07 被阅读181次

    Ansible Role: elasticsearch

    安装elasticsearch集群

    介绍

    ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    官方地址: https://www.elastic.co/products/elasticsearch
    github: https://github.com/elastic/elasticsearch
    官方文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

    要求

    此角色仅在RHEL及其衍生产品上运行。

    测试环境

    ansible 2.3.0.0
    os Centos 6.7 X64
    python 2.6.6

    角色变量

    software_files_path: "/opt/software"
    software_install_path: "/usr/local"
    
    es_version: "5.4.1"
    
    es_file: "elasticsearch-{{ es_version }}.tar.gz"
    es_file_path: "{{ software_files_path }}/{{ es_file }}"
    es_file_url: "https://artifacts.elastic.co/downloads/elasticsearch/{{ es_file }}"
    
    es_user: elasticsearch
    es_group: elasticsearch
    
    es_http_host: "0.0.0.0"
    es_http_port: 9200
    es_transport_port: 9300
    
    es_max_open_files: 165535
    es_max_map_count: 262155
    es_max_processes: 4096
    
    es_service_name: "elasticsearch{% if es_http_port != 9200 %}{{ es_http_port }}{% endif %}"
    es_service_start: false
    
    es_home_dir: "/usr/local/elasticsearch"
    es_pid_dir: "/var/run/elasticsearch"
    es_log_dir: "/{{ es_service_name }}_data/logs"
    es_conf_dir: "/{{ es_service_name }}_data/config"
    es_data_dir: "/{{ es_service_name }}_data/data"
    es_script_dir: "/{{ es_service_name }}_data/scripts"
    
    es_cluster_name: ""
    es_node_name: ""
    es_node_rack: ""
    
    es_unicast_hosts: ""
    es_minimum_master_nodes: ""
    
    es_scripts_fileglob: ""
    es_install_plugins: []
    es_config: ""
    
    es_heap_ms: "1g"
    es_heap_mx: "1g"
    es_jvm_options: ""
    es_java_home: ""
    es_g1gc: false
    
    es_node_data: false
    es_node_master: false
    es_node_ingest: false
    es_node_client: false
    

    依赖

    java 1.8

    github地址

    https://github.com/kuailemy123/Ansible-roles/tree/master/elasticsearch

    Example Playbook

    #单机单实例,默认配置
    - hosts: node1
      roles:
       - { role: java ,java_version: "1.8" }
       - role: elasticsearch
       
    
    #单机多实例
    - hosts: node1
      vars:
       - es_cluster_name: "Testes"
         es_unicast_hosts: '["192.168.77.129:9301","192.168.77.129:9302"]'
         es_minimum_master_nodes: 2
         es_heap_ms: "512m"
         es_heap_mx: "512m"
      roles:
       - { role: java ,java_version: "1.8" }
       - { role: elasticsearch, es_http_port: 9201, es_transport_port: 9301, es_node_name: "es_node1" }
       - { role: elasticsearch, es_http_port: 9202, es_transport_port: 9302, es_node_name: "es_node2" }
    
    #自定义节点角色
    - hosts: node1
      vars:
       - es_cluster_name: "Testes"
         es_unicast_hosts: '["192.168.77.129:9301","192.168.77.129:9302","192.168.77.129:9303"]'
         es_minimum_master_nodes: 1
         es_heap_ms: "512m"
         es_heap_mx: "512m"
         es_install_plugins:
           - x-pack
           - ingest-geoip
         es_service_start: true
      roles:
       - { role: java ,java_version: "1.8" }
       - { role: elasticsearch, es_http_port: 9201, es_transport_port: 9301, es_node_name: "es_node1", es_node_master: true, es_node_ingest: true }
       - { role: elasticsearch, es_http_port: 9202, es_transport_port: 9302, es_node_name: "es_node2", es_node_data: true }
       - { role: elasticsearch, es_http_port: 9203, es_transport_port: 9303, es_node_name: "es_node3", es_node_data: true }
    
    #分布式部署
    - hosts: node1 node2 node3
      vars:
       - es_cluster_name: "Testes"
         es_unicast_hosts: '["192.168.77.129","192.168.77.130","192.168.77.131"]'
         es_minimum_master_nodes: 2
         es_heap_ms: "512m"
         es_heap_mx: "512m"
       - es_install_plugins:
           - x-pack
           - ingest-geoip
         es_service_start: true
      roles:
       - { role: java ,java_version: "1.8" }
       - { role: elasticsearch }
    

    使用

    ~]# service elasticsearch
    Usage: /etc/init.d/elasticsearch {start|stop|status|restart|condrestart|try-restart|reload|force-reload}
    

    相关文章

      网友评论

        本文标题:Ansible Role 日志分析 之【elasticsearc

        本文链接:https://www.haomeiwen.com/subject/kfherxtx.html