zoukankan      html  css  js  c++  java
  • Ubuntu 14.04中Elasticsearch集群配置

    Ubuntu 14.04中Elasticsearch集群配置

    前言:本文可用于elasticsearch集群搭建参考。细分为elasticsearch.yml配置和系统配置

    达到的目的:各台机器配置成功,可以达到如下效果:

    • elasticsearch节点组成集群,对外来看俨如一台机器
    • elasticsearch节点的内存得到优化调整

    一. elasticsearch.yml配置

    network.host: "172.16.0.4"
    #这里可以是内网ip、机器名
    bootstrap.mlockall: true
    discovery.zen.ping.multicast.enabled: false
    #禁止掉多播
    discovery.zen.minimum_master_nodes: 2
    #(number of master-eligible nodes / 2) + 1 即 :(有master潜力的节点/2 )+1
    discovery.zen.ping.unicast.hosts: ["172.16.0.4", "172.16.0.6"]
    #这里配置的IP为master潜力节点的内网IP地址
    path:
      data: ["G:/elasticsearch/Data","X:/"]
    #es擎住的数据的存放地址。linux虚拟机中需要挂载磁盘作为存放目录。
    
    #cluster.routing.allocation.enable : "all"
    #indices.fielddata.cache.size : "75%"
    indices.recovery.max_bytes_per_sec: 100mb
    #这个配不之配置不影响集群运行,可以不写
    
    node.master: true
    #设置为true,表示为master潜力节点
    node.data: false
    #表示为非数据节点
    node.name: ${COMPUTERNAME}
    #设置节点名称
    
    

    二. 系统文件配置

    es_heap_size=$(free -m |grep Mem | awk '{if ($2/2 >31744) print 31744;else print $2/2;}')
    # 设置es的heap_size。一般取内存的一半,但是不大于32G
    sudo printf "\nES_HEAP_SIZE=%sm\n" $es_heap_size >> /etc/default/elasticsearch
    sudo printf "MAX_LOCKED_MEMORY=unlimited\n" >> /etc/default/elasticsearch
    # 如果在elasticsearch.yml设置了bootstrap.mlockall: true,此处应该设置为unlimited。并且需要设置上述的es_heap_size
    sudo echo "elasticsearch - nofile 65536" >> /etc/security/limits.conf
    #设置elasticsearch的最大文件打开数位65536
    sudo echo "elasticsearch - memlock unlimited" >> /etc/security/limits.conf
    
    #sudo service elasticsearch restart
    #sudo update-rc.d elasticsearch defaults 95 10
    #查看是否设置成功
    

    检查内存是否配置成功

    http://yourip:9200/_cat/nodes?v&h=host,heap.current,heap.percent,heap.max,ram.max,disk.avail,node.role,m
    

    大概得到如下

    NOTE:上述采用的是sysvinit方式。如果你采用的是system方式,系统文件配置有部分需要修改。具体修改我有地方不理解,所以不做介绍

    具体查看:

    Elsticsearch running as service on Linux

    关于sysvinit和system的介绍可以查看:

    sysvinit and system

  • 相关阅读:
    一文学会Go语言
    只用120行Java代码写一个自己的区块链
    精通libGDX游戏开发-RPG实战-欢迎来到RPG的世界
    精通libGDX游戏开发-RPG实战-开发游戏的基本前提
    libGDX开发环境搭建-Android Studio 最新版
    linux下redis的最佳实践(Master-Slave)
    使用Redis实现高并发分布式序列号生成服务
    [libGDX游戏开发教程]使用libGDX进行游戏开发(12)-Action动画
    [libgdx游戏开发教程]使用Libgdx进行游戏开发(11)-高级编程技巧 Box2d和Shader
    [libgdx游戏开发教程]使用Libgdx进行游戏开发(10)-音乐和音效
  • 原文地址:https://www.cnblogs.com/yangwenbo214/p/6252891.html
Copyright © 2011-2022 走看看