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. 《深入浅出WPF》学习总结之XAML标签语言二

    x名称空间 “x名称空间”的这个X是映射XML名称空间时给他取的名字(如果用的是字母y,那他就叫“y名称空间了”),x名称空间里的成员(x.name.x.class)是专门给XAML编译器看的.用来引 ...

  2. python基础-9.2 单例模式

    设计模式 一.单例模式 单例,顾名思义单个实例.创建一个实例 链接池案例 1.单例=>只有一个实例 2.静态方法+静态字段 3.所有的实例中封装的内容相同时用单例模式 class Connect ...

  3. mysql忘记密码/修改密码

    关键词:忘记密码,修改密码,mysql忘记密码,mysql修改密码 转自:https://www.cnblogs.com/jdxn/p/6847089.html 方法1: 用SET PASSWORD命 ...

  4. Git-第四篇廖雪峰Git教程学习笔记(3)远程仓库,克隆远端库

    1.本次连接的是gitHub仓库. 1>创建SSH Key. ssh-keygen -t rsa -C "youremail@example.com" lfy@lfy-PC ...

  5. [2019杭电多校第五场][hdu6625]three arrays(01字典树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6625 大意为给你两个数组a和b,对应位置异或得到c数组,现在可以将a,b数组从新排序求c数组,使得字典 ...

  6. Python所有转义字符总汇

    转义字符就是让程序按照已经设置好的字符输出,不然程序当成其他的输出了,下面总结所有python转义字符 \\ 反斜杠符号\' 单引号\" 双引号\a 响铃\b 退格(Backspace)\e ...

  7. paste - 合并文件各行

    总览 (SYNOPSIS) ../src/paste [OPTION]... [FILE]... 描述 (DESCRIPTION) 连续 依次 从 各个 文件 FILE 中 读取 一行 然后 合并成 ...

  8. EwoMail 邮件服务器安装

    ewomail 安装及使用 主页:http://www.ewomail.com/ 开源版主页:http://www.ewomail.com/list-9.html 开源版文档:http://doc.e ...

  9. 【转】一文搞懂C语言回调函数

    转:https://segmentfault.com/a/1190000008293902?utm_source=tag-newest 什么是回调函数 我们先来看看百度百科是如何定义回调函数的: 回调 ...

  10. Java虚拟机——类加载机制

    转自:http://blog.csdn.net/ns_code/article/details/17881581 类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载 ...