1.系统环境

三台服务器(最好是单数台,跟master选举方式有关),确保机器互相ping的通,且都需要装了jdk 8环境,机器IP和 elasticsearch 的节点名称如下:

cluster name

node name

IP Addr

说明

local_ES

node-01

192.168.2.10

local_ES

node-02

192.168.2.11

local_ES

node-03

192.168.2.12

2.安装部署

官网下载linux下安装包,https://www.elastic.co/downloads/past-releases,我们使用的版本是6.7.2,使用 wget 命令下载文件。

$> wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.7.2.tar.gz

解压到 opt 目录,命令如下:

$> tar -xvf elasticsearch-6.7.2.tar.gz -C /opt

由于安全原因,不能用 root 用户运行,所以需要添加 es 组和 es 用户,并赋予其文件夹权限,命令如下:

$> groupadd es

$> useradd es -g es -p es

$> chown es:es /opt/elasticsearch-6.7.2

$> chown es /opt/elasticsearch-6.7.2 -R

设置最大线程数量,如果不进行设置,会出现如下异常:

max number of threads [3818] for user [es] is too low, increase to at least [4096]

修改文件:

$> vi /etc/security/limits.conf

增加文件内容如下:

*  soft nproc 4096

*  hard nproc 4096

设置 elasticsearch 进程打开文件最大数量,如果不进行设置,会出现如下异常:

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

修改文件:

$> vi /etc/security/limits.conf

增加文件内容如下:

* soft nofile 65536

*  hard nofile 65536

设置最大虚拟内存,如果不进行设置,会出现如下异常:

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

修改文件:

$> vi /etc/sysctl.conf

增加文件内容如下:

vm.max_map_count=262144

然后执行 sysctl -p 来生效修改

3.安装插件

安装中文分词插件,插件的 Github 地址为 https://github.com/medcl/elasticsearch-analysis-ik/ ,使用 bin 目录下的 elasticsearch-plugin 命令来进行安装,命令如下:

$> ./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.7.2/elasticsearch-analysis-ik-6.7.2.zip

.集群配置

通过 cluster.name 属性配置集群的名字,用于唯一标识一个集群,不同的集群,其 cluster.name 不同,集群名字相同的所有节点自动组成一个集群。如果不配置改属性,默认值是:elasticsearch。当启动一个结点时,该结点会自动寻找相同集群名字的主结点;如果找到主结点,该结点加入集群中;如果未找到主结点,该结点成为主结点。集群相关配置如下:

属性

缺省值

描述

cluster.name

federated_cluster

Elasticsearch 集群名称。使用集群可将单独 Process Federation Server 绑定到单个分布式系统中。参与集群的所有服务器都必须具有相同的集群名称。

node.name

node1

Elasticsearch 节点名。集群中的每个 Process Federation Server 都必须具有唯一节点名。

transport.tcp.port

用于某个集群中 Elasticsearch 节点之间的通信的端口。

discovery.zen.ping.unicasts.hosts

localhost

提供其他 Elasticsearch 服务节点的单点广播发现功能。配置集群中基于主机 TCP 端口的其他 Elasticsearch 服务的逗号分隔列表。

例如:

discovery.zen.ping.unicast.hosts: ["192.168.2.10", "192.168.2.11","192.168.2.12"]

有关更多信息,请参阅 Elasticsearch 文档

5.配置属性

属性

缺省值

描述

cluster.name

federated_cluster

Elasticsearch 集群名称。使用集群可将单独 Process Federation Server 绑定到单个分布式系统中。参与集群的所有服务器都必须具有相同的集群名称。

node.name

node1

Elasticsearch 节点名。集群中的每个 Process Federation Server 都必须具有唯一节点名。

node.master

true

指示某个节点是否符合成为主节点的条件。主节点管理 Elasticsearch 集群的状态。在运行时,Elasticsearch 服务会自动提名某一个合格的集群成员成为主节点。

仅当您想要对专用主节点和数据节点采用高级配置时,才将该值设置为 false。此类型的配置并不常用。

node.data

true

指示节点是否为数据节点。数据节点包含并管理索引的一部分。

仅当您想要对专用主节点和数据节点采用高级配置时,才将该值设置为 false。此类型的配置并不常用。

network.host

127.0.0.1

将绑定地址设置为特定的IP

http.port

如果启用了 HTTP 端口,那么此属性指定由 Elasticsearch 服务使用的端口。

http.cors.enabled

true

如果启用了 HTTP 端口,那么此属性会指定是否允许跨源 REST 请求。

http.cors.allowed.origin

localhost

如果 http.cors.enabled 的值为 true,那么该属性会指定允许 REST 请求来自何处。

transport.tcp.port

用于某个集群中 Elasticsearch 节点之间的通信的端口。

discovery.zen.minimum_master_nodes

指示某个集群定额所需的 Process Federation Server 的数量。

缺省值为 1 表示单服务器环境。对于生产环境,请将该值设置为组成定额所需的 Process Federation Server 的数量。例如,如果在集群中总计有三个 Process Federation Server,请将该值设置为"2",如果在集群中总计有五个 Process Federation Server,请将该值设置为"3"。

有关更多信息,请参阅 Elasticsearch 文档

discovery.zen.ping.multicast.enabled

false

通过发送节点所接收和响应的一个或多个多点广播请求来提供对其他 Elasticsearch 服务节点的多点广播 ping 发现功能。有关更多信息,请参阅 Elasticsearch 文档

discovery.zen.ping.unicasts.hosts

localhost

提供其他 Elasticsearch 服务节点的单点广播发现功能。配置集群中基于主机 TCP 端口的其他 Elasticsearch 服务的逗号分隔列表。

例如:

discovery.zen.ping.unicast.hosts="localhost:9300,localhost:9301,localhost:9302

有关更多信息,请参阅 Elasticsearch 文档

discovery.zen.ping.timeout

3s

Elastic 搜索节点等待加入 Elasticsearch 集群的时间。

elasticsearch 集群搭建及启动常见错误的更多相关文章

  1. Mongodb集群搭建过程及常见错误

    Replica Sets MongoDB 支持在多个机器中通过异步复制达到故障转移和实现冗余.多机器中同一时刻只 有一台是用于写操作.正是由于这个情况,为 MongoDB 提供了数据一致性的保障.担当 ...

  2. 和我一起打造个简单搜索之ElasticSearch集群搭建

    我们所常见的电商搜索如京东,搜索页面都会提供各种各样的筛选条件,比如品牌.尺寸.适用季节.价格区间等,同时提供排序,比如价格排序,信誉排序,销量排序等,方便了用户去找到自己心里理想的商品. 站内搜索对 ...

  3. elasticsearch集群搭建实例

    elasticsearch集群搭建实例 下个月又开始搞搜索了,几个月没动这块还好没有落下. 晚上在自己虚拟机上搭建了一个简易搜索集群,分享一下. 操作系统环境: Red Hat 4.8.2-16 el ...

  4. Elasticsearch集群搭建教程及生产环境配置

    Elasticsearch 是一个极其强大的搜索和分析引擎,其强大的部分在于能够对其进行扩展以获得更好的性能和稳定性. 本教程将提供有关如何设置 Elasticsearch 集群的一些信息,并将添加一 ...

  5. Elasticsearch集群搭建及使用Java客户端对数据存储和查询

    本次博文发两块,前部分是怎样搭建一个Elastic集群,后半部分是基于Java对数据进行写入和聚合统计. 一.Elastic集群搭建 1. 环境准备. 该集群环境基于VMware虚拟机.CentOS ...

  6. ElasticStack之Elasticsearch集群搭建

    需搭建服务器环境 操作系统 Host:port node 1 CentOS 7.2.1511 11.1.11.127:9200 node1 2 CentOS 7.2.1511 11.1.11.128: ...

  7. CentOS 7下ElasticSearch集群搭建案例

    最近在网上看到很多ElasticSearch集群的搭建方法,本人在这人使用Elasticsearch5.0.1版本,介绍如何搭建ElasticSearch集群并安装head插件和其他插件安装方法. 一 ...

  8. Es学习第十课,ElasticSearch集群搭建

    前面几课我们已经把ES的基本概念和查询了解了,大家知道ES的核心优势就是天生支持分布式,所以,这课我们专门讲讲怎么搭建实现ES的集群部署. ES分布式原理 1.es分布式概念 主分片(Primary ...

  9. Elasticsearch集群搭建

    现有两部机器:192.168.31.86,192.168.31.87   参考以往博文对Elasticsearch进行配置完成:http://www.cnblogs.com/zhongshengzhe ...

随机推荐

  1. SQLServer中的Merge使用

    Merge DML 作用: 数据同步 数据转换 基于源表对目标表做Insert,Update,Delete操作 Merge关键字的一些限制 使用Merge关键字只能更新一个表 源表中不能有重复的记录 ...

  2. [BZOJ 3110] [luogu 3332] [ZJOI 2013]k大数查询(权值线段树套线段树)

    [BZOJ 3110] [luogu 3332] [ZJOI 2013]k大数查询(权值线段树套线段树) 题面 原题面有点歧义,不过从样例可以看出来真正的意思 有n个位置,每个位置可以看做一个集合. ...

  3. Lpl and Energy-saving Lamps

    During tea-drinking, princess, amongst other things, asked why has such a good-natured and cute Drag ...

  4. 问题 I: 夫子云游

    问题 I: 夫子云游 时间限制: 1 Sec  内存限制: 128 MB提交: 319  解决: 219[提交] [状态] [命题人:jsu_admin] 题目描述 改编自猫腻所著的同名小说<将 ...

  5. CSS-子盒子撑开父盒子,让父盒子的高随内容自适应

    方法一: height:auto!important; height:200px; min-height:200px; ie6并不支持min-height.ie7,opera,火狐没有问题. 方法二: ...

  6. Python 数据分析中金融数据的来源库和简单操作

    目录 金融数据 pandas-datareader TuShare 金融学图表 案例 金融数据 数据分析离不开数据的获取,这里介绍几种常用的获取金融方面数据的方法. pandas-datareader ...

  7. v-cloak解决Vue双大括号闪烁问题

    相信不少人和我一样,初次查看一个技术的文档的时候,知识吸收的很慢,因为对这个技术的不熟悉导致不清楚各种操作的应用场景,当我意识到这件事之后,我决定换种学习思路,即以实战为主,卡壳就查文档,会对这个技术 ...

  8. 逐行读取txt文件,分割,写入txt。。。上传,下载

    s = [] f  = open('querylist.txt','r') #由于我使用的pycharm已经设置完了路径,因此我直接写了文件名 for lines in f:     ls = lin ...

  9. linux命令中chmod 777 以及drwxr-xr-x分别代表什么意思

    最近跟一个运维人员学了点新东西,感觉以前没怎么注意,但现在感觉很有用,特来记录一下. linux使用==ll==命令列出列表的时候,前面总是有一堆drwxr-xr-x ,这些代表什么意思从来还没有去在 ...

  10. C++使用静态类成员时出现的一个问题

    开发环境 Qt Creator 4.8.2 编译器 MinGw 32-bit 在类中定义了一个static data member class Triangular{ public: static b ...