1.elasticsearch集群部署

1.limit的修改

vim /etc/security/limits.conf

具体内容为:

*  soft   nofile    65536

*  hard   nofile    65536

*  soft noproc 2048

*  hard noproc 4096

* - memlock unlimited

es  soft  memlock  unlimited

es  hard  memlock  unlimited

sysctl -p 生效

不做上述操作,部署es启动可能:

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

2.内核参数优化

vim /etc/sysctl.conf

vm.max_map_count=262144  #定义了一个进程能拥有的最多的内存区域,都需要

net.core.somaxconn= 2048   #都需要加

sysctl -p 生效

不做上述操作,可能部署es启动:

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

3.安装jdk

cd /data/app

上传jdk的压缩包,或者yum自己下载

tar -xzvf jdk-*****-linux-x64.tar.gz

配置环境变量(root  和  自己创建的用户都加一下环境变量)

vim /etc/profile   或者  ~/.bush_profile

export JAVA_HOME=/data/app/jdk******

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

生效

source /etc/profile或者 source ~/.bush_profile

验证jdk

java -version

4.安装es

cd /data/app

上传es的压缩包,并解压,和上面解压jdk命令一样 换下包就可以

创建数据和日志目录:

mkdir -p /data/app/es/{data,logs}

修改elasticsearch.yml配置文件:

vim /data/app/elasticsearc**/config/elasticsearch.yml

# ---------------------------------- Cluster -----------------------------------

# Use a descriptive name for your cluster:

#如果是应用独享,命名请使用es-应用名称

cluster.name: ********

# ------------------------------------ Node ------------------------------------

# 这个名称可以自己定义,建议node1、node2去命名

node.name: node1

#指定该节点是否有资格被选举成为node,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master。

node.master: true

# 指定该节点是否存储索引数据,默认为true。

node.data: true

# ----------------------------------- Paths ------------------------------------

path.data: /data/app/es/data

# Path to log files:

path.logs: /data/app/es/logs

# ----------------------------------- Memory -----------------------------------

#服务器发生系统swapping的时候ES节点的性能会非常差,也会影响节点的稳定性。

#所以要不惜一切代价来避免swapping。swapping会导致Java GC的周期延迟从毫秒级恶化到分钟,

#更严重的是会引起节点响应延迟甚至脱离集群。

#这个参数的目的是当你无法关闭系统的swap的时候,建议把这个参数设为true。

#防止在内存不够用的时候,elasticsearch的内存被交换至交换区,导致性能骤降。

#ES默认开启了内存地址锁定,为了避免内存交换提高性能。但是Centos6不支持SecComp功能,启动会报错,所以需要将其设置为false

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

#network.host ,如果不限制主机访问,同时设置bind_host和publish_host两个参数,那我们只需要把该属性设置为0.0.0.0,那么就不限制主机的访问和节点的交互

network.host: 10.**.**.72  //其他两台10.**.**68,10.**.**.71

#可以为Http传输监听定制端口

http.port: 9200

#配置节点之间交互的端口.默认端口

transport.tcp.port: 9300

# 设置是否压缩tcp传输时的数据,默认为false,不压缩

transport.tcp.compress: true

# 设置请求内容的最大容量,默认100mb

http.max_content_length: 100mb

#IP 最好是三个,注意master节点数量,一般为三个,data数量不限,配合node.master: true

discovery.zen.ping.unicast.hosts: ["10.**.**.72","10.**.**.68","10.**.**.71"]

# 这个参数控制的是,一个节点需要看到具有master资格的节点的最小数量,然后才能在集群中做操作。官方的推荐值是(N/2)+1,其中N是具有master资格的节点的数量。

discovery.zen.minimum_master_nodes: 1

修改elasticsearch***/bin/elasticsearch 的配置文件

vim /data/app/elasticsearch**/bin/elasticsearch

export JAVA_HOME=/data/setup/jdk**** //增加环境变量

调整对内存,一般是服务器内存的一半

vim /data/app/elasticsearch**/config/jvm.options

-Xms10g

-Xmx10g

5.启动es

创建es用户

groupadd es

useradd -g es esl

更改相应目录归属:

chown -R esl:es /data/app/es

chown -R esl:es /data/app/elasticsearch****

sudo -u esl /data/app/elasticsearch*****/bin/elasticsearch -d

直接curl  或者 浏览器访问一下 ip:9200  看看可以不

修改elasticsearch.yml配置文件:vi /data/app/app/elasticsearch/config/elasticsearch.yml# ---------------------------------- Cluster -----------------------------------# Use a descriptive name for your cluster:#如果是应用独享,命名请使用es-应用名称cluster.name: es-arms# ------------------------------------ Node ------------------------------------# 这个名称可以自己定义,建议node1、node2去命名node.name: node1#指定该节点是否有资格被选举成为node,默认是true,es是默认集群中的第一台机器为master,如果这台机挂了就会重新选举master。node.master: true# 指定该节点是否存储索引数据,默认为true。node.data: true# ----------------------------------- Paths ------------------------------------path.data: /data/app/es/data# Path to log files:path.logs: /data/app/es/logs# ----------------------------------- Memory -----------------------------------#服务器发生系统swapping的时候ES节点的性能会非常差,也会影响节点的稳定性。#所以要不惜一切代价来避免swapping。swapping会导致Java GC的周期延迟从毫秒级恶化到分钟,#更严重的是会引起节点响应延迟甚至脱离集群。 #这个参数的目的是当你无法关闭系统的swap的时候,建议把这个参数设为true。#防止在内存不够用的时候,elasticsearch的内存被交换至交换区,导致性能骤降。#ES默认开启了内存地址锁定,为了避免内存交换提高性能。但是Centos6不支持SecComp功能,启动会报错,所以需要将其设置为falsebootstrap.memory_lock: falsebootstrap.system_call_filter: false#network.host ,如果不限制主机访问,同时设置bind_host和publish_host两个参数,那我们只需要把该属性设置为0.0.0.0,那么就不限制主机的访问和节点的交互  network.host: 10.20.12.72  //其他两台10.20.44.68,10.20.12.71#可以为Http传输监听定制端口http.port: 9200#配置节点之间交互的端口.默认端口transport.tcp.port: 9300# 设置是否压缩tcp传输时的数据,默认为false,不压缩transport.tcp.compress: true # 设置请求内容的最大容量,默认100mb http.max_content_length: 100mb#IP 最好是三个,注意master节点数量,一般为三个,data数量不限,配合node.master: truediscovery.zen.ping.unicast.hosts: ["10.20.12.72","10.20.44.68","10.20.12.71"]# 这个参数控制的是,一个节点需要看到具有master资格的节点的最小数量,然后才能在集群中做操作。官方的推荐值是(N/2)+1,其中N是具有master资格的节点的数量。discovery.zen.minimum_master_nodes: 1

原文地址:https://www.cnblogs.com/timor19/p/12134368.html

时间: 2024-08-28 09:08:31

1.elasticsearch集群部署的相关文章

elasticsearch 集群部署

Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也都采用Elasticsearch作为其搜索服务.废话在此就不多赘述了,下面记录下CentOS7下Elasticsearch集群部署过程: 1)基础信息 elk-es01.kevin.cn    192.168.10.44 elk-es02.kevin.cn    192.168.10.45 elk-

我的ElasticSearch集群部署总结--大数据搜索引擎你不得不知

摘要:世上有三类书籍:1.介绍知识,2.阐述理论,3.工具书:世间也存在两类知识:1.技术,2.思想.以下是我在部署ElasticSearch集群时的经验总结,它们大体属于第一类知识“techknowledge(技术)”.但其中也穿插一些我个人的理解.敬请指正. 关键词:ElasticSearch, 搜索引擎, 集群, 大数据, Solr, 大数据 三类书籍 和 两类知识: 有一些书是对某一新知识领域的介绍,将此知识领域从头到尾.从内而外剖开了分析,吸收这些知识主要在于“记忆”,(也有“领会”)

elasticsearch集群部署

先说下我用的版本:elasticsearch5.2.2 对于初学者来说,我觉得elasticsearch负载均衡没啥好介绍的,在不涉及到elasticsearch优化的前提下,其实还是蛮简单的. 之所以要写下来,是为了帮助跟我一样笨的同学少走弯路.少踩坑. 为什么这么说? 因为在做elasticsearch集群测试的时候,我也是在网上查找资料.但网上的资料都是千篇一律,而且有一个非常非常重要的关键点没讲. 那就是集群各节点之间的通讯端口:9300的开启都忽略了. 一开始百度,各种可能都试了,怎么

Logstash+Kibana+多ElasticSearch集群部署

ELK原理与介绍 ? ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件.新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash .官方文档 :https://www.elastic.co/ Elasticsearch是个开源分布式搜索引擎,提供搜集.分析.存储数据三大功能.它的特点有:分布式,零配置,自动发现,索引自动分

elasticsearch集群部署,及采坑问题

1,官网下载安装包 2,解压安装包到指定的目录 tar -zxvf elasticsearch-6.5.4.tar.gz 3,重命名 mv elasticsearch-6.2.1  elasticsearch 4,创建数据存放路径(应将设置配置为在Elasticsearch主目录之外定位数据目录,以便在不删除数据的情况下删除主目录!) mkdir -p /home/data/es 5,建立用户并授权(es不能用root运行) groupadd es useradd es -g es passwd

谈一谈Elasticsearch的集群部署

??Elasticsearch天生就支持分布式部署,通过集群部署可以提高系统的可用性.本文重点谈一谈Elasticsearch的集群节点相关问题,搞清楚这些是进行Elasticsearch集群部署和拓扑结构设计的前提.关于如何配置集群的配置文件不会在本文中提及. 节点类型 1. 候选主节点(Master-eligible node) ??一个节点启动后,就会使用Zen Discovery机制去寻找集群中的其他节点,并与之建立连接.集群中会从候选主节点中选举出一个主节点,主节点负责创建索引.删除索

Elasticsearch 7.5.0集群部署

一.背景介绍ELK 不是一款软件,而是 Elasticsearch.Logstash 和 Kibana 三种软件产品的首字母缩写.这三者都是开源软件,通常配合使用,而且又先后归于 Elastic.co 公司名下,所以被简称为 ELK Stack.根据 Google Trend 的信息显示,ELK Stack 已经成为目前最流行的集中式日志解决方案. Elasticsearch:分布式搜索和分析引擎,具有高可伸缩.高可靠和易管理等特点.基于 Apache Lucene 构建,能对大容量的数据进行接

Elasticsearch集群 windows下部署ES集群,多台服务器

? 针对于Elasticsearch集群部署基本上就是一些配置就可以解决的,我们这块简单称为(ES). ES下载地址为:https://www.elastic.co/cn/downloads/past-releases 如果不能下载,可以转至https://download.csdn.net/download/weixin_41986096/11635439 进行下载. 下来选择盘符建立es-cluster文件夹,名称可以随意替换,我们将es复制3份,分别如下图所示(伪集群部署方式) ? 然后打

elasticsearch2.x集群部署

一.linux环境 1.增大用户进程数和文件句柄数 (1)vim /etc/security/limits.d/90-nproc.conf * soft nproc 30499 root soft nproc unlimited (2)vim /etc/security/limits.conf * soft noproc 30499             * hard noproc 30499            * soft nofile 65536             * hard