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. concurrent.futures模块(进程池/线程池)

    需要注意一下不能无限的开进程,不能无限的开线程最常用的就是开进程池,开线程池.其中回调函数非常重要回调函数其实可以作为一种编程思想,谁好了谁就去掉 只要你用并发,就会有锁的问题,但是你不能一直去自己加 ...

  2. HOOK NTFS 禁止格式化

    if(bHooked == FALSE) { RtlInitUnicodeString (&HookDriverName, L"\\FileSystem\\Ntfs"); ...

  3. 返回头部js

    $('.backTop, .backCss').click(function() { var id=$(this).attr('class'); $('html, body').animate({sc ...

  4. Git+Github入门

    1.安装Git git 返回上一级文件命令 cd ..(cd 和..之间有空格) 2.安装完成后需进一步设置,在命令行输入 3.选择一个合适的地方创建一个空目录 pwd命令用于显示当前目录 4.通过g ...

  5. C++ MFC棋牌类小游戏day6

    双人单机小游戏做完了,规则那部分还没介绍,暂时不打算介绍了,因为写的这个bug太多,我打算重新修改. 链接:https://pan.baidu.com/s/1XQKPSv0Tw36Qi2TeaRJiM ...

  6. 文件类File

    文件类File继承结构: public class File extends Object implements Serializable, Comparable<File> 常用方法: ...

  7. Java中资料的上传与下载

    1.导架包 <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons ...

  8. 题解 luogu P1144 【最短路计数】

    本蒟蒻也来发一次题解第一篇请见谅 这个题有几个要点 1.无向无权图,建图的时候别忘记建来回的有向边[因此WA掉1次 2.无权嘛,那么边长建成1就好了2333333 3.最短路采用迪杰斯特拉(别忘用堆优 ...

  9. ArcEngine不同种类的工作空间建立查询ICursor时“超出系统资源”

    环境 这里我的工作空间有两种:mdb库和SDE库分别打开的工作空间. 查询语句:使用Field in ('1','2')查询方式来得到游标对象. 错误 当查询语句中in后面的条件值大于1500时,在I ...

  10. MyBatis 源码分析 - 插件机制

    1.简介 一般情况下,开源框架都会提供插件或其他形式的拓展点,供开发者自行拓展.这样的好处是显而易见的,一是增加了框架的灵活性.二是开发者可以结合实际需求,对框架进行拓展,使其能够更好的工作.以 My ...