centos6.10搭建ELK之elasticsearch6.5.4
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性能变差。
禁用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的更多相关文章
- Centos6.10搭建Hadoop三节点分布式
(一)安装JDK 1. 下载JDK,解压到相应的路径 2. 修改 /etc/profile 文件(文本末尾添加),保存 sudo vi /etc/profile # 配置 JAVA_HOME exp ...
- Centos6.5使用ELK(Elasticsearch + Logstash + Kibana) 搭建日志集中分析平台实践
Centos6.5安装Logstash ELK stack 日志管理系统 概述: 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的 ...
- ELK+Kafka学习笔记之搭建ELK+Kafka日志收集系统集群
0x00 概述 关于如何搭建ELK部分,请参考这篇文章,https://www.cnblogs.com/JetpropelledSnake/p/9893566.html. 该篇用户为非root,使用用 ...
- 搭建ELK和EFK
公司突然发下任务让我搭建elk和efk,于是做完之后写入了博客,生产环境下,亲测可用哦 搭建ELK 一共两台服务器,一个节点(logstash) 主服务器上 修改最大链接和最大打开的文件 1.临时修改 ...
- CentOS6.6搭建LNMP环境
CentOS6.6搭建LNMP环境 1.设置yum源,本地安装依赖包 1 yum -y install gcc gcc-c++ automake autoconf libtool make 2.下载依 ...
- Centos6一键搭建L2TP VPN服务器
用VPS在墙上打洞还有一种叫L2TP,也是常见的一种方式.本脚本结合了L2TP(Layer Tunneling Protocol)和IPSec(Internet Protocol Security), ...
- centos6.7搭建DHCP服务器
centos6.7搭建DHCP服务 2017-03-24 09:47:16 系统环境: centos6.7 安装之前首先使用rpm –qa | grep dhcp查看系统中是否已安装了dhcp软件包. ...
- CentOS6.5 搭建在线yum源
CentOS6.5 搭建在线yum源 发布时间: 2017-04-21 浏览次数: 611 下载次数: 1 问题描述 尽管有很多的免费镜像提供yum源服务,但是还是有必要建立自己的yum服务器 ...
- 使用Docker快速搭建ELK环境
今天由于Win系统的笔记本没带回家,其次Docker在非Linux系统下都需要安装额外的软件去镜像才行 所以感觉没有差别,先直接用Mac搭建一遍呢, 本篇部分命令和配置内容为摘抄 Mac下使用Dock ...
随机推荐
- vs [失败]未能找到文件
用文本文件打开csproj 文件.将里面的不需要文件删除; 或者在工程里面先将其移出工程.然后再删除;
- 重写comparater比较器
TreeSet 能自动对对象进行排序,但是一般需要在类中重写比较方法 比较器介绍 在类中实现Comparable接口,并重写compareTo方法 排序对象类 package typing.overr ...
- sleep() 和 wait() 区别
sleep()不释放同步锁,wait()释放同步锁 sleep()的作用是让线程休眠指定的时间,时间到后自动恢复线程执行.运行的主动权是由线程决定的. wait()可以用notify()直接唤起,运行 ...
- collection管理程序中不同类别的资源
在一个计算图中,可以通过collection管理不同类别的资源,如通过tf.add_to_collection函数可以将资源加入一个或多个集合中,然后通过tf.get_collection获取一个集合 ...
- Ubuntu 14.04 LTS 下使用校园网客户端DrclientLinux
原先博客放弃使用,几篇文章搬运过来 下载客户端并解压 安装开发包 sudo -i dpkg --add-architecture i386 #添加32位的支持 apt-get update apt-g ...
- python3调用zabbix api
前言 今天写了一个zabbix api,这里整理一下,过程中自己也学习了一些东西. 需求 我们需要查一个文件内容如下: cat /ops/flume_hosts node1 node2 需要把这个文件 ...
- 使用Python对Twitter进行数据挖掘(Mining Twitter Data with Python)
目录 1.Collecting data 1.1 Register Your App 1.2 Accessing the Data 1.3 Streaming 2.Text Pre-processin ...
- c++ 异常处理(1)
异常 (exception) 是 c++ 中新增的一个特性,它提供了一种新的方式来结构化地处理错误,使得程序可以很方便地把异常处理与出错的程序分离,而且在使用上,它语法相当地简洁,以至于会让人错觉觉得 ...
- Android开发 - 掌握ConstraintLayout(二)介绍
介绍 发布时间 ConstraintLayout是在2016的Google I/O大会上发布的,经过这么长时间的更新,现在已经非常稳定. 支持Android 2.3(API 9)+ 目前的Androi ...
- Turtle库学习笔记
一.Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它 ...