规划一个可用于生产环境的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.rpm
sudo chkconfig --add elasticsearch

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

ES_HEAP_SIZE=32g
JAVA_OPTS="-Xms32g"

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

* hard memlock unlimited
* soft memlock unlimited

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

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

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

  • client节点
node.master: false
node.data: false
discovery.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.htmlerror_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}
}

插件安装

建议安装如下插件

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

kopf

./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

Elasticsearch 运维实战之1 -- 集群规划相关推荐

  1. Docker容器虚拟化技术---Docker运维管理(Swarm集群管理)3

    Docker容器虚拟化技术-Docker运维管理(Swarm集群管理)3 Swarm集群管理 docker swarm是docker官方提供的一套容器编排系统,是Docker公司推出的官方容器集群平台 ...

  2. elasticsearch运维实战之2 - 系统性能调优

    elasticsearch性能调优 集群规划 独立的master节点,不存储数据, 数量不少于2 数据节点(Data Node) 查询节点(Query Node),起到负载均衡的作用 Linux系统参 ...

  3. Kafka的灵魂伴侣Logi-KafkaManger(4)之运维管控–集群运维(数据迁移和集群在线升级)

    推荐一款非常好用的kafka管理平台,kafka的灵魂伴侣 滴滴开源Logi-KafkaManager 一站式Kafka监控与管控平台 技术交流 有想进滴滴LogI开源用户群的加我个人微信: jjdl ...

  4. 多功能自动化智能运维平台,提升集群的全自动运维效率

    一.开源项目简介 致力于打造一个集主机管理.配置部署.监控报警.异常诊断.安全审计等一系列功能的自动化运维平台. 探索创新的sysAK.ossre诊断工具及高效的LCC(Libbpf Compiler ...

  5. 运维之道 | Redis 集群搭建

    Redis 集群搭建 集群中至少应该有奇数个节点,所以搭建集群最少需要3台主机.同时每个节点至少有一个备份节点,所以下面最少需要创建使用6台主机,才能完成Redis Cluster 集群搭建(主节点. ...

  6. [运维] 高性能负载均衡集群

    1.Nginx+Tomcat搭建高性能负载均衡集群 https://blog.csdn.net/wang379275614/article/details/47778201 2.使用Tomcat-re ...

  7. 自动化运维之k8s——Kubernetes集群部署、pod、service微服务、kubernetes网络通信

    目录 一.Kubernetes简介 1.Kubernetes简介 2.kubernetes设计架构 3.Kubernetes核心组件 4.kubernetes设计结构 二.Kubernetes部署 1 ...

  8. docker portainer_「实战篇」开源项目docker化运维部署-Portainer管理集群部署(十)...

    之前都是通过命令的方式,管理docker的,其实docker还是有图形界面的.使用图形界面如何管理docker,其实业界很多公司都对docker进行了图形化的封装.之前在初级和中级的时候也有界面mar ...

  9. 大数据平台搭建及集群规划

    CDH大数据平台搭建之集群规划_码上_成功的博客-CSDN博客_cdh集群规划 大数据Hadoop分布式集群部署(详细版)_arnoldmp的博客-CSDN博客_分布式集群部署 大数据平台的硬件规划. ...

最新文章

  1. python内置函数源码_python如何查看内置函数源码
  2. python对windows进行操作_【转】python 操作windows下的目录
  3. win10 创建python虚拟环境
  4. StarUML 逆向工程插件加载失败问题解决
  5. 用链表和数组实现HASH表,几种碰撞冲突解决方法
  6. 天池 在线编程 到达终点
  7. STM32-TFTLCD显示
  8. C++使用VARIANT实现二维数组的操作
  9. java的人patch方法_java – Spring MVC PATCH方法:部分更新
  10. [DELPHI] 使用mod函数换行
  11. 项目详细设计开发文档
  12. 03173软件开发工具主观题汇总
  13. 蓝屏dump分析教程,附分析工具WinDbg
  14. 计算机考试报名照片可以是白底吗,软考报名照片必须白底的是吗?
  15. 八款最佳的远程桌面工具
  16. 最受推荐的10本Python书籍
  17. PMP分享 | 脚踏实地,仰望星空
  18. html 向左箭头图标css,使用css实现箭头图标
  19. 敏捷开发中,团队成员认领的是任务还是用户故事?
  20. NIN:Network in Network

热门文章

  1. 2019年中国科创板全面解读报告
  2. 《卫报》长文解读机器的崛起:人类越来越无法掌控它们
  3. 寒武纪创始人兼CEO陈天石博士的公开信
  4. 别再被 Python 洗脑了!!
  5. 这可能是东半球最保姆级的后台服务器开发学习路线
  6. 泛型委托在项目中的应用
  7. 【mysql学习笔记整理】
  8. [error] - Build path is incomplete. Cannot find class file for org/aspectj/weaver/refl
  9. 看看android基础知识,谁帮我作答
  10. CentOS 6.5下编译安装新版LNMP