ElasticSearch 集群安装

一、ElasticSearch

ElasticSearch 官网:Elasticsearch: The Official Distributed Search & Analytics Engine | Elastic

官网下载地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.0.tar.gz

二、ElasticSearch安装

1、环境介绍:

Elasticsearch:5.5.2版本

操作系统:Centos 6.5

JDK: 1.8

集群节点3台:es01;es02;es03

2、ES集群安装

1>用户创建

创建用户es,家目录设置/usr/local/elasticsearch

2>jdk安装

root上传jdk1.8.0_121.tar到/usr/java并解压

tar -xvf jdk1.8.0_121.tar

切换到es用户,修改.bash_profile文件,添加以下内容:

export JAVA_HOME=/usr/java/jdk1.8.0_121

PATH=JAVA_HOME/bin:PATH:$HOME/bin

执行命令 source .bash_profile生效

3>系统参数设置

  1. 设置内核参数
    vim /etc/sysctl.conf
    添加如下内容:
    fs.file-max=65536
    vm.max_map_count=262144
  2. 设置资源参数

vim /etc/security/limits.conf

添加如下内容:

bash 复制代码
*  soft   nofile    65535
*  hard   nofile    65535
* soft nproc 4096
* hard nproc 4096
* soft memlock unlimited
* hard memlock unlimited

执行命令sysctl --p 使配置生效

4>elasticsearch安装

上传elasticsearch-5.5.0.zip包到/usr/local/elasticsearch目录并解压

unzip elasticsearch-5.5.0.zip

删除解压目录的下的原始文件夹

/usr/local/elasticsearch/elasticsearch-5.5.0/data/nodes

5>elasticsearch配置

备份elasticsearch.yml文件

bash 复制代码
---------------------------------- Cluster -----------------------------------
cluster.name: lcs-elasticsearch
#集群名称,不能和别的集群同名

------------------------------------ Node ------------------------------------
node.name: es01.lcs.sfp.com
#节点名称,每个节点建议改成hostname
node.master: true
#该节点是否有资格被选为master
node.data: true
#指定该节点是否存储索引数据,默认为true。如果节点配置node.master:false并且node.data: false,则该节点将起到负载均衡的作用

----------------------------------- Paths ------------------------------------
path.data: /usr/local/elasticsearch/elasticsearch-5.5.0/data

#Path to log files:

path.logs: /usr/local/elasticsearch/elasticsearch-5.5.0/logs
#es存储数据的路径和日志路径



----------------------------------- Memory -----------------------------------


#Lock the memory on startup:

bootstrap.memory_lock: true

#这个配置的意义:锁定物理内存地址,防止es内存被交换出去,也就是避免es使用swap交换分区,频繁的交换,会导致IOPS变高

bootstrap.system_call_filter: false
#问题原因:因为Centos6不支持SecComp
#SecComp是Linux kernel (自从2.6.23版本之后)所支持的一种简洁的sandboxing机制。它能使一个进程进入到一种"安全"运行模式,该模式下的进程只能调用4种系统调用(system calls),即read(), write(), exit()和sigreturn(),否则进程便会被终止。
而ES5.2以后的版本默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。修改为false直接不检查

Make sure that the heap size is set to about half the memory available

on the system and that the owner of the process is allowed to use this

limit.

Elasticsearch performs poorly when the system is swapping the memory.

#---------------------------------- Network -----------------------------------


#Set the bind address to a specific IP (IPv4 or IPv6):

network.host: 0.0.0.0
#允许访问的IP,设置0.0.0.0允许所有IP访问

Set a custom port for HTTP:

http.port: 9200
#为es restapi的端口号
transport.tcp.port: 9300
#为集群间通信端口

#For more information, consult the network module documentation.

#--------------------------------- Discovery ----------------------------------
#Pass an initial list of hosts to perform discovery when new node is started:

#The default list of hosts is ["127.0.0.1", "[::1]"]

discovery.zen.ping.unicast.hosts: ["es01.lcs.sfp.com", "es02.lcs.sfp.com"]
#集群的所有主机地址

#Prevent the "split brain" by configuring the majority of nodes (total number of master-eligible nodes / 2 + 1):

discovery.zen.minimum_master_nodes: 2
#了防止集群发生"脑裂", 需要配置集群最少主节点数目,通常为 (可成为主节点的主机数目 / 2) + 1

#For more information, consult the zen discovery module documentation.

---------------------------------- Gateway -----------------------------------
#Block initial recovery after a full cluster restart until N nodes are started:

#gateway.recover_after_nodes: 3

#For more information, consult the gateway module documentation.

---------------------------------- Various -----------------------------------
#Require explicit names when deleting indices:

#action.destructive_requires_name: true
相关推荐
chenglin01611 小时前
ES_索引模板
大数据·elasticsearch·jenkins
Elasticsearch19 小时前
传统 AI 与生成式 AI:IT 领导者指南
elasticsearch
Hello.Reader1 天前
Elasticsearch Rails 集成(elasticsearch-model / ActiveRecord)
大数据·elasticsearch·jenkins
代码的余温1 天前
Elasticsearch核心概念
大数据·elasticsearch·搜索引擎
chenglin0161 天前
ES_多表关联
java·前端·elasticsearch
IsPrisoner1 天前
深入理解 Elasticsearch:从原理到实战的系统性解析
大数据·elasticsearch·搜索引擎
chenglin0161 天前
ES_数据存储知识
java·服务器·elasticsearch
当牛作馬1 天前
ES常用查询命令
数据库·mysql·elasticsearch
chenglin0161 天前
ES_索引的操作
大数据·数据库·elasticsearch
郭二哈2 天前
git的使用
大数据·网络·git·elasticsearch