1、环境准备

1.1.安装java环境版本不要低于java8

# java -version

java version "1.8.0_191"

Java(TM) SE Runtime Environment (build 1.8.0_191-b12)

Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

1.2.关闭swap分区

原因:操作系统会尽可能多的缓存文件系统数据到内存中,这可能导致JVM堆的某些部分,甚至其可执行页面被交换到磁盘。这会导致ES性能变差。

详情请看:https://www.elastic.co/guide/en/elasticsearch/reference/6.4/setup-configuration-memory.html#bootstrap-memory_lock

禁用swap有三种方法,其中第一种最后,如果当前系统环境不适用第一种方法,

临时关闭:

# swapoff -a

永久关闭:

修改/etc/fstab文件,注释掉swap分区

第二种方法:

这减少了内核交换的倾向,在正常情况下不应该导致交换,同时仍然允许整个系统在紧急情况下交换。

# echo "vm.swappiness = 1" >> /etc/sysctl.conf

第三种方法:

尝试将进程地址空间锁定到RAM中,防止任何Elasticsearch内存被交换出去。这可以通过在config/elasticsearch.yml中添加这一行来实现。

bootstrap.memory_lock: true

检测mlockall是否启用:

# curl -X GET "localhost:9200/_nodes?filter_path=**.mlockall"

{"nodes":{"UMakWu4ESSymEt6kXinsjQ":{"process":{"mlockall":false}}}}

1.3.文件描述符和最大进程数配置

Elasticsearch使用许多文件描述符或文件句柄。耗尽文件描述符可能是灾难性的,并且很可能导致数据丢失。请确保将运行Elasticsearch的用户的打开文件描述符的数量限制增加到65536或更高

# cat /etc/security/limits.conf|grep -Ev "^#|^$"

elasticsearch         soft    nproc           655350

elasticsearch         hard    nproc           655350

elasticsearch         soft    nofile          655350

elasticsearch         hard    nofile          655350

检测文件描述符数量:

# curl -X GET

"localhost:9200/_nodes/stats/process?filter_path=**.max_file_descriptors"

{"nodes":{"UMakWu4ESSymEt6kXinsjQ":{"process":{"max_file_descriptors":655350}}}}

1.4.加大vm.max_map_count内核参数

Elasticsearch默认使用mmapfs目录来存储索引。默认操作系统对mmap计数的限制可能太低,这可能导致内存不足异常。

在Linux上,可以通过以root用户身份运行以下命令来增加限制:

系统默认值是65530。

如果使用rpm包安装,请忽略这一步,因为rpm包的脚本里已经执行了响应指令。

# echo "vm.max_map_count = 655350" >>/etc/sysctl.conf ;sysctl -p

2.安装启动elasticsearch

2.1.获取安装包

下载地址:选择你需要的版本下载

https://www.elastic.co/downloads/past-releases

# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.rpm

2.2.安装并启动

# rpm -ivh elasticsearch-6.5.4.rpm

修改配置文件

# grep -Ev "^#|^$" /etc/elasticsearch/elasticsearch.yml

cluster.name: my-es                               #设置集群名称

node.name: node-1                                 #设置节点名称

node.master: true                                    #设置该节点为master节点

node.data: true                                        #设置该节点为数据节点,生产一般不会即

#是master节点又是数据节点

path.data: /var/lib/elasticsearch              #生产环境一般都会更改数据存放目录

path.logs: /var/log/elasticsearch              #我自己测试就不改了

bootstrap.memory_lock: false                #关闭引导检测

bootstrap.system_call_filter: false         #关闭引导检测

network.host: 0.0.0.0                             #设置主机地址

http.port: 9200                                       #设置监听端口

启动:

# chkconfig elasticsearch on

# /etc/init.d/elasticsearch start

如果启动失败,请查看日志信息获取报错信息。

2.3.检查ES信息

# curl localhost:9200

{

"name" : "node-1",

"cluster_name" : "my-es",

"cluster_uuid" : "1McmmxxOSXeCf9Sx-XSfmQ",

"version" : {

"number" : "6.5.4",

"build_flavor" : "default",

"build_type" : "rpm",

"build_hash" : "d2ef93d",

"build_date" : "2018-12-17T21:17:40.758843Z",

"build_snapshot" : false,

"lucene_version" : "7.5.0",

"minimum_wire_compatibility_version" : "5.6.0",

"minimum_index_compatibility_version" : "5.0.0"

},

"tagline" : "You Know, for Search"

}

# curl localhost:9200/_cluster/health?pretty

{

"cluster_name" : "my-es",

"status" : "green",

"timed_out" : false,

"number_of_nodes" : 1,

"number_of_data_nodes" : 1,

"active_primary_shards" : 0,

"active_shards" : 0,

"relocating_shards" : 0,

"initializing_shards" : 0,

"unassigned_shards" : 0,

"delayed_unassigned_shards" : 0,

"number_of_pending_tasks" : 0,

"number_of_in_flight_fetch" : 0,

"task_max_waiting_in_queue_millis" : 0,

"active_shards_percent_as_number" : 100.0

}

centos6.10搭建ELK之elasticsearch6.5.4的更多相关文章

  1. Centos6.10搭建Hadoop三节点分布式

    (一)安装JDK 1. 下载JDK,解压到相应的路径 2.  修改 /etc/profile 文件(文本末尾添加),保存 sudo vi /etc/profile # 配置 JAVA_HOME exp ...

  2. Centos6.5使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践

    Centos6.5安装Logstash ELK stack 日志管理系统 概述:   日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的 ...

  3. ELK+Kafka学习笔记之搭建ELK+Kafka日志收集系统集群

    0x00 概述 关于如何搭建ELK部分,请参考这篇文章,https://www.cnblogs.com/JetpropelledSnake/p/9893566.html. 该篇用户为非root,使用用 ...

  4. 搭建ELK和EFK

    公司突然发下任务让我搭建elk和efk,于是做完之后写入了博客,生产环境下,亲测可用哦 搭建ELK 一共两台服务器,一个节点(logstash) 主服务器上 修改最大链接和最大打开的文件 1.临时修改 ...

  5. CentOS6.6搭建LNMP环境

    CentOS6.6搭建LNMP环境 1.设置yum源,本地安装依赖包 1 yum -y install gcc gcc-c++ automake autoconf libtool make 2.下载依 ...

  6. Centos6一键搭建L2TP VPN服务器

    用VPS在墙上打洞还有一种叫L2TP,也是常见的一种方式.本脚本结合了L2TP(Layer Tunneling Protocol)和IPSec(Internet Protocol Security), ...

  7. centos6.7搭建DHCP服务器

    centos6.7搭建DHCP服务 2017-03-24 09:47:16 系统环境: centos6.7 安装之前首先使用rpm –qa | grep dhcp查看系统中是否已安装了dhcp软件包. ...

  8. CentOS6.5 搭建在线yum源

    CentOS6.5 搭建在线yum源 发布时间:  2017-04-21 浏览次数:  611 下载次数:  1  问题描述 尽管有很多的免费镜像提供yum源服务,但是还是有必要建立自己的yum服务器 ...

  9. 使用Docker快速搭建ELK环境

    今天由于Win系统的笔记本没带回家,其次Docker在非Linux系统下都需要安装额外的软件去镜像才行 所以感觉没有差别,先直接用Mac搭建一遍呢, 本篇部分命令和配置内容为摘抄 Mac下使用Dock ...

随机推荐

  1. 洛谷1345 [USACO5.4]奶牛的电信Telecowmunication

    原题链接 最小割点数转换成最小割边数的模板题(不过这数据好小). 每个点拆成两个点,连一条容量为\(1\)的边,原图的边容量定为\(+\infty\),然后跑最大流即可. 这里用的是\(Dinic\) ...

  2. 设计模式学习心得<汇总>

    绝大部分程序员其实用不上设计模式. - 创建 结构 行为 描述 在软件工程中,创建型模式是处理对象创建的设计模式,试图根据实际情况使用合适的方式创建对象.基本的对象创建方式可能会导致设计上的问题,或增 ...

  3. ubuntu 应用添加进环境变量

    BG:公司同事使用的电脑系统大多为windows ,有部分mac和Ubuntu(我就是那个部分Ubuntu),某些情况为了统一格式,便下载了一些解压即可使用的软件,但是每次点开文件夹然后点开程序很繁琐 ...

  4. ABP框架系列之十二:(Audit-Logging-审计日志)

    Introduction Wikipedia: "An audit trail (also called audit log) is a security-relevant chronolo ...

  5. Note | LaTeX

    目录 一.TeX家族 1. TeX - LaTeX 2. pdfTeX - pdfLaTeX 3. XeTeX - XeLaTeX 4. CTeX - MiKTeX - TeX Live 二.入门 1 ...

  6. openxml excel封装类

    public class ExcelUntity { #region property /// <summary> /// excel文档(相当于excel程序) /// </sum ...

  7. 用Django ORM实现树状结构

    前言 之前看对于用关系数据库实现树状结构的方法就知道一直做自关联的表,但是感觉自关联查询太慢了,最近看到一篇文章,感觉视野开拓了好多,文章:数据库表设计,没有最好只有最适合来自:微信. 下面就针对这里 ...

  8. 完善版封装canvas分享组件

    import regeneratorRuntime from "../../../lib/regenerator-runtime/runtime"; let ctx = false ...

  9. 第六节:详细讲解Java中的装箱与拆箱及其字符串

    前言 大家好,给大家带来详细讲解Java中的装箱与拆箱及其字符串的概述,希望你们喜欢 装箱与拆箱 封装类有:Byte , short , Integer , Character , long , Fl ...

  10. itext实现合同尾部签章部分自动添加,定位签名

    使用的pom <!-- pdf处理 start--> <dependency> <groupId>com.itextpdf</groupId> < ...