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. PHP开发——基础

    简介 l  PHP Hypertext Preprocessor 超文本预处理器,是嵌入到HTML文件中的服务器端的脚本语言: l  一个PHP文件中,可以包含多种代码:HTML.CSS.JS.Jqu ...

  2. Matplotlib 基本用法

    1.基础应用 >>> import matplotlib.pyplot as plt >>> import numpy as np #使用np.linspace定义 ...

  3. zeromq学习记录(九)练习代码学习ZMQ_ROUTER ZMQ_READLER

    /************************************************************** 技术博客 http://www.cnblogs.com/itdef/   ...

  4. python3 第二十三章 - 函数式编程之Partial function(偏函数)

    要注意,这里的偏函数和数学意义上的偏函数不一样,偏函数是2.5版本以后引进来的东西,属于函数式编程的一部分.前面章节中我们讲到,通过设定参数的默认值,可以降低函数调用的难度.而偏函数也可以做到这一点. ...

  5. httpd安装与配置(编译安装)

    httpd简介 httpd是Apache超文本传输协议(HTTP)服务器的主程序.被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池. 通常,httpd不应该被直接调用,而应该在类 ...

  6. java中random的几个方法的使用Math.random()和random().

    random java中我们有时候也需要使用使用random来产生随机数,下面我来简单的介绍下java中random的使用方法 第一种:Math.random() public static doub ...

  7. Rsync常见错误和问题

    五.常见问题 以下是为配置rsync时的常见问题: 问题一:@ERROR: chroot failedrsync error: error starting client-server protoco ...

  8. JSP内置对象page/pageContext/Config/Exception

    Config对象 config对象实是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一 ...

  9. spring web参数传递

    spring boot 参数相关 ******************************************   @RequestParam 这个注解用来绑定单个请求数据,既可以是url中的 ...

  10. Unity AssetBundle打包资源工具

    using UnityEngine;using System.Collections;using UnityEditor; /// <summary>/// 简单资源打包Editor/// ...