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. openstack 制作镜像以及windows向Linux中通过xshell传文件

    慢慢的也要把openstack一些相关的笔记整理上来了 之前由于主要是在看horizon 实验室搭建的openstack平台并没有怎么实际的用起来,前几天别的同学要用来测试大数据的相关服务,才把这些内 ...

  2. Hadoop运行模式:本地模式、伪分布模式、完全分布模式

    1.本地模式:默认模式 - 不对配置文件进行修改. - 使用本地文件系统,而不是分布式文件系统. - Hadoop不会启动NameNode.DataNode.ResourceManager.NodeM ...

  3. [BNDSOJ] 小P的数列代码

    感谢gjznb大佬的帮助Orz #include<bits/stdc++.h> using namespace std; ; vector<int> dp[N][N]; ]; ...

  4. spark复习笔记(7):sparkSQL

    一.saprkSQL模块,使用类sql的方式访问Hadoop,实现mr计算,底层使用的是rdd 1.hive //hadoop  mr  sql 2.phenoix //hbase上构建sql的交互过 ...

  5. Tomcat 保存镜像实战操作( 目录挂载方法 )

    查看数据保存的位置 docker inspect --format='{{.Mounts}}' mxg_tomcat 宿主机数据保存在 /usr/local/project , 将此路径数据备份在 b ...

  6. Linux性能优化从入门到实战:03 CPU篇:CPU上下文切换

      linux操作系统是将CPU轮流分配给任务,分时执行的.而每次执行任务时,CPU需要知道CPU寄存器(CPU内置的内存)和程序计数器PC(CPU正在执行指令和下一条指令的位置)值,这些值是CPU执 ...

  7. 脚本_查看所有虚拟机磁盘以及 CPU 的使用量

    #!bin/bash#作者:liusingbon#功能:查看所有虚拟机磁盘使用量以及 CPU 使用量信息read -p "按任意键进入查看页面.比如按下Enter键" keyvir ...

  8. ssh免口令密码登录及兼容性处理

    1). client ---> server 客户端发起对服务器的连接,登录服务器. 2). 须在客户端生成密钥对 注意: 公钥加密私钥解:私钥加密公钥解. 可以发布公钥,但私钥是不能出本机的. ...

  9. 初学Java 数组统计字母

    public class CountLetterInArray { public static void main(String[] args) { char[] chars = createArra ...

  10. BZOJ2440/洛谷P4318 [中山市选2011]完全平方数 莫比乌斯函数

    题意:找到第k个无平方因子数. 解法:这道题非常巧妙的运用了莫比乌斯函数的性质! 解法参考https://www.cnblogs.com/enzymii/p/8421314.html这位大佬的.这里我 ...