阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

ElasticSearch单机双实例的配置方法

432次阅读
没有评论

共计 3458 个字符,预计需要花费 9 分钟才能阅读完成。

从 ElasticSearch 官方的多份文档中可以看到,官方并不建议部署 ES 时为实例指定超过 32GB 的内存,但是现在内存的价格非常便宜,一台实体机服务器仅用 32G 内存显然是非常浪费的。所以我们要尝试在一个服务器上开多个 ES 实例,以便达到充分利用资源的目的。本文提供了一些 ES 单机双实例的配置要点,可扩展至单机多实例,供大家来实际参考。

突破 32G

从 ElasticSearch 官方的多份文档中可以看到,官方并不建议部署 ES 时为实例指定超过 32GB 的内存,例如这些写着大字警告用户的文章:Don’t Cross 32 GB!

但是现在内存的价格非常便宜,一台实体机服务器仅用 32G 内存显然是非常浪费的。所以我们要尝试在一个服务器上开多个 ES 实例,以便达到充分利用资源的目的。

配置变更

要做到单机上开多个实例,需要修改 ES 的默认配置,以下是一些配置要点:

node.max_local_storage_nodes

这个配置限制了单节点上可以开启的 ES 存储实例的个数,我们需要开多个实例,因此需要把这个配置写到配置文件中,并为这个配置赋值为 2 或者更高。

http.port

这个配置是 elasticsearch 对外提供服务的 http 端口配置,默认情况下 ES 会取用 9200~9299 之间的端口,如果 9200 被占用就会自动使用 9201,在单机多实例的配置中这个配置实际是不需要修改的。

但是为了更好地进行配置管理,以及和老的配置兼容,我们还是手动将第一个实例的 http 端口配置为 9200,第二个实例配置为 9201。

transport.tcp.port

这个配置指定了 elasticsearch 集群内数据通讯使用的端口,默认情况下为 9300,与上面的 http.port 配置类似,ES 也会自动为已占用的端口选择下一个端口号。我们可以将第一个实例的 tcp 传输端口配置为 9300,第二实例配置为 9301。
discovery.zen.ping.unicast.hosts

由于到了 2.x 版本之后,ES 取消了默认的广播模式来发现 master 节点,需要使用该配置来指定发现 master 节点。这个配置在单机双实例的配置中需要特别注意下,因为习惯上我们配置时并未指定 master 节点的 tcp 端口,如果实例的 transport.tcp.port 配置为 9301,那么实例启动后会认为 discovery.zen.ping.unicast.hosts 中指定的主机 tcp 端口也是 9301,可能导致这些节点无法找到 master 节点。因此在该配置中需要指定 master 节点提供服务的 tcp 端口。

配置示例:

discovery.zen.ping.unicast.hosts: ["testes.mydomain:9300"]

其他配置

  • node.name

    同一主机上的两个实例需要使用不同的 node.name

  • path.data

    同一主机上两个实例需要对应不同的数据目录

  • path.logs

    由于默认情况下日志用集群名称来命名,因此同一主机两个实例对应的日志目录需要分开

完整配置示例

以下提供两个完整的配置实例供参考:

实例 1:

cluster.name: testes
node.name: ${HOSTNAME}
node.box_type: M
node.master: false
node.data: true
path.data: /data/disk01
path.logs: /home/CentOS/elasticsearch/logs/instance1
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["testes.mydomain:9300"]
node.max_local_storage_nodes: 2
threadpool.index.queue_size: 400
threadpool.bulk.queue_size: 5000
bootstrap.mlockall: false

实例 2:

cluster.name: testes
node.name: ${HOSTNAME}-2
node.box_type: M
node.master: false
node.data: true
path.data: /data/disk02
path.logs: /home/centos/elasticsearch/logs/instance2
network.host: 0.0.0.0
http.port: 9201
transport.tcp.port: 9301
discovery.zen.ping.unicast.hosts: ["testes.mydomain:9300"]
node.max_local_storage_nodes: 2
threadpool.index.queue_size: 400
threadpool.bulk.queue_size: 5000
bootstrap.mlockall: false

配置部署

默认情况下 ES 启动时使用 ES 安装目录的 config 子目录下的 elasticsearch.yml 文件来作为配置文件,同时还用到了 config 子目录下的 logging.yml 文件来作为日志的配置文件。为了实现单机双实例的分别启动,我们需要创建两个目录来分别存储两个实例的配置文件,如:

在 config 子目录下创建 instance1 和 instance2 两个目录,分别放置两个实例需要的 elasticsearch.yml 和 logging.yml 配置文件。

注意,ES 的配置文件必须使用 elasticsearch.yml 这个命名,因此必须创建出两个目录来。

启动实例

以下是两条参考的命令,用于启动单机上的两个实例:

实例 1:

bin/elasticsearch -Des.path.conf=config/instance1 -d -p /tmp/elasticsearch_1.pid

实例 2:

bin/elasticsearch -Des.path.conf=config/instance2 -d -p /tmp/elasticsearch_2.pid

ElasticSearch 最新版本 2.20 发布下载了   http://www.linuxidc.com/Linux/2016-02/128166.htm

Linux 上安装部署 ElasticSearch 全程记录  http://www.linuxidc.com/Linux/2015-09/123241.htm

Elasticsearch 安装使用教程 http://www.linuxidc.com/Linux/2015-02/113615.htm

ElasticSearch 配置文件译文解析 http://www.linuxidc.com/Linux/2015-02/114244.htm

ElasticSearch 集群搭建实例  http://www.linuxidc.com/Linux/2015-02/114243.htm

分布式搜索 ElasticSearch 单机与服务器环境搭建  http://www.linuxidc.com/Linux/2012-05/60787.htm

ElasticSearch 的工作机制  http://www.linuxidc.com/Linux/2014-11/109922.htm 

Elasticsearch 的安装,运行和基本配置 http://www.linuxidc.com/Linux/2016-07/133057.htm

使用 Elasticsearch + Logstash + Kibana 搭建日志集中分析平台实践  http://www.linuxidc.com/Linux/2015-12/126587.htm

Ubuntu 14.04 搭建 ELK 日志分析系统 (Elasticsearch+Logstash+Kibana) http://www.linuxidc.com/Linux/2016-06/132618.htm

Elasticsearch1.7 升级到 2.3 实践总结  http://www.linuxidc.com/Linux/2016-11/137282.htm

ElasticSearch 的详细介绍 :请点这里
ElasticSearch 的下载地址 :请点这里 

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-11/137361.htm

正文完
星哥玩云-微信公众号
post-qrcode
 1
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3458字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7987175
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛NAS-5:飞牛NAS中的Docker功能介绍

星哥带你玩飞牛 NAS-5:飞牛 NAS 中的 Docker 功能介绍 大家好,我是星哥,今天给大家带来如何在...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...