博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Elasticsearch 运维实战之1 -- 集群规划
阅读量:6571 次
发布时间:2019-06-24

本文共 2597 字,大约阅读时间需要 8 分钟。

规划一个可用于生产环境的elasticsearch集群。

集群节点划分

整个集群的节点分为以下三种主要类型

  1. Master nodes -- 负责维护集群状态,不保存index数据, 硬件要求: 一般性的机器就可以,给es进程分配16g内存
  2. Data Nodes -- 只保存index的数据,不被选举为Master nodes 硬件要求: 配置要求越高越好,使用大硬盘,有条件可以上SSD硬盘
  3. Client Nodes -- 主要用于负载均衡,不被选举为Master node, 也不保存index数据 硬件要求: 24核CPU, 64G内存或更高

一个合理的集群应该包含三个master nodes, 1到多个data nodes, 最少一个client node

安装与配置

通用配置,以centos为例,使用rpm安装包

sudo rpm -ivh elasticsearch-version.rpmsudo chkconfig --add elasticsearch

修改/etc/sysconfig/elasticsearch, 修改ES_HEAP_SIZE和JAVA_OPTS的内容,注意elasticsearch建议使用的最大内存是32G,

ES_HEAP_SIZE=32gJAVA_OPTS="-Xms32g"

修改/etc/security/limits.conf, 添加如下内容

* hard memlock unlimited* soft memlock unlimited

/etc/elasticsearch/elasticsearch.yml 内容配置

  • master节点
node.master: truenode.data: falsediscovery.zen.ping.unicast.hosts: ["master1","master2","master3"]network.host: ${HOSTNAME}
  • data节点
node.master: falsenode.data: truediscovery.zen.ping.unicast.hosts: ["master1","master2","master3"]network.host: ${HOSTNAME}

如果为elasticsearch配置了多块硬盘,可以修改 DATA_DIR 的值,多个目录使用逗号(,)分开

  • client节点
node.master: falsenode.data: falsediscovery.zen.ping.unicast.hosts: ["master1","master2","master3"]network.host: ${HOSTNAME}

启动elasticsearch

sudo service elasticsearch start

需要注意的是elasticsearch在centos中使用service elasticsearch restart有时不能达到效果,需要分开来做

sudo kill -9 `pgrep -f elasticsearch`sudo service elasticsearch start

nginx反向代理

为了记录针对集群的查询内容,建议使用nginx来做反向代理,nginx安装在client node上,conf.d/default.conf 最简单的配置如下

upstream elasticsearch {        server 127.0.0.1:9200;}server {    gzip on;    access_log /var/log/nginx/access.log combined;    listen       80 default_server;    server_name  _;    #charset koi8-r;    #access_log  logs/host.access.log  main;    # Load configuration files for the default server block.    include /etc/nginx/default.d/*.conf;    location / {        root   /usr/share/nginx/html;        index  index.html index.htm;        proxy_set_header Host $http_host;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        proxy_set_header X-Forwarded-Proto $scheme;        proxy_pass      http://elasticsearch;    }   error_page  404              /404.html;    location = /404.html {        root   /usr/share/nginx/html;    }    # redirect server error pages to the static page /50x.html    error_page   500 502 503 504  /50x.html;    location = /50x.html {        root   /usr/share/nginx/html;    }}

插件安装

建议安装如下插件

  • kopf 兼容es 1.x, 2.x

./elasticsearch/bin/plugin install lmenezes/elasticsearch-kopf/{branch|version}
  • head 兼容es 1.x
  • bigdesk 兼容es 1.x

转载于:https://www.cnblogs.com/hseagle/p/5372566.html

你可能感兴趣的文章
web前端知识总结
查看>>
Storm
查看>>
HDU-1058 Humble Numbers 暴力 Or 动态规划
查看>>
Redis4.0支持的新功能说明
查看>>
echo,print(),print_r(),sprintf(),var_dump()的区别
查看>>
基于JavaScript 声明全局变量的三种方式
查看>>
MAC 下安装RabbitMQ
查看>>
HEOI2019游记
查看>>
RavenDb学习(九)高级特性下半部分
查看>>
下载前不能有输出
查看>>
SSO单点登录学习总结(2)——基于Cookie+fliter单点登录实例
查看>>
Eclipse如何构建(普通web)Maven工程
查看>>
CentOS6.4下安装TeamViewer8
查看>>
客户端访问Web Service方法的一个细节
查看>>
用sqlplus登陆数据库时,oracle 11g出现ORA-12514问题
查看>>
51nod 1129 字符串最大值
查看>>
iOS11 导航栏适配
查看>>
【特别好】【位运算】maximum-xor-of-two-numbers-in-an-array
查看>>
winform窗体全屏实现
查看>>
【Lv1-Lesson001】Names,Greetings and Introduction
查看>>