ElasticSearch单机双实例的配置方法

(本文适用于Elasticsearch 2.X版本)

从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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容