elasticsearch 安装与配置

安装java

elasticsearch 需要 java环境

使用Java版本1.8.0_131或更高版本 安装受支持的LTS版本java

并配置好环境变量

java 8早期的版本在启用 G1GC收集器时会导致索引损坏。所以我们尽量使用Java版本1.8.0_131或更高版本(官网链接)

cd /tmp && wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
rpm -ivh jdk-8u131-linux-x64.rpm
环境变量: vi + /etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_131
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH 加载环境变量
source /etc/profile

安装elastcsearch

二进制安装(tar包)

不要以root去运行

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.tar.gz.sha512
yum install perl-Digest-SHA # 解决shasum在centos执行不了的问题。
shasum -a 512 -c elasticsearch-6.3.2.tar.gz.sha512
tar -xvf elasticsearch-6.3.2.tar.gz
cd elasticsearch-6.3.2/bin

在启动之前我们必须要考虑到这些设置

# 启动(默认监听9200端口)
./elasticsearch
# 后台运行
./elasticsearch -d
# 后台运行并记录pid到文件
./elasticsearch -d -p ./elasticsearch.pid
# 关闭
kill `cat elasticsearch.pid `

当elasticsearch 有异常时会返回一个错误状态码

错误 状态码
jvm 内部错误 128
内存不足 127
堆栈溢出 126
未知的虚拟机错误 125
io 错误 124
未知的其他错误 1

在进入生产之前我们必须要考虑到以下设置

  1. 禁用swap
  2. 增加文件描述符
  3. 合适配置的jvm内存
  4. 足够的线程
  5. jvm dns 缓存设置

怎么才意味着从开发模式到生产模式。

一但我们配置了network.host ,elasticsearch 就会认为我们将从开发模式转为生产模式

一些警告可能会升级到异常来阻止我们启动。

增大打开文件句柄数量

方法一: 临时修改
在root的情况下:
ulimit -n 65536 方法二: 永久修改
更改配置文件:/etc/security/limits.conf
在文件末尾前面加入
Elsearch(启动的用户名) - nofile 65536 注意: 如果已经登录了启动用户,需要在更改配置后重新登录下。 方法三: 如果是rpm包安装的,我们可以使用systemd服务来进行配置
systemctl edit elasticsearch
更改
[Service]
LimitMEMLOCK=infinity 重新加载配置
systemctl daemon-reload

禁用虚拟内存

交换分区对性能,对节点的稳定性非常不利,可能导致收集持续数分钟。并且可能导致节点响应缓慢甚至断开与群集的连接,在分布式系统中应该避免。

方法一:

临时禁用:swapoff –a

用久禁用:您需要编辑/etc/fstab文件并注释掉包含该单词的任何行swap

方法二:

将vm.swappiness 设置为1 

降低了使用交换的概率,正常情况下不应该使用交换,允许系统在紧急情况下使用swap.
设置: 临时:sysctl -w vm.swappiness=1 永久 或者修改配置文件 vim /etc/sysctl.conf 以 key=values 的方式存储。 查看所有的可读变量: sysctl -a 方法三: 修改elasticsearch 的配置文件。
config/elasticsearch.yml 修改为:bootstrap.memory_lock: true

合适配置的jvm内存

一般在运行elasticsearch 的时候最小需要是内存是1G,少于1G我们会经常启动不了。
-Xms1g # 最小值为1G
-Xmx1g # 最大值为1G
对于这个值的设置,官方为了适应不同的java版本,特做了一些适应配置
-Xms1g 不受版本影响,默认
8:-Xmx2g 只适应java8版本
8-:-Xmx2g 适应java8及以上版本
8-9:-Xmx2g 适应java8-java-9版本 官方文档写到:以往经验得出,
1. 最大值和最小值设置为一样的值,否则在系统使用的时候会因jvm值变化而导致服务暂停
2. 过多的内存,会导致用于缓存的内存越多,最终导致回收内存的时间也加长
3. 设置的内存不要超过物理内存的50%,以保证有足够的内存留给操作系统
4. 不要将内存设置超过32GB

配置线程数

elasticsearch 用户需要创建的线程数至少为4096。

# 临时设置
ulimit -u 4096
# 永久设置
vim /etc/security/limits.d/90-nproc.conf
user soft nproc 4096 修改完即可生效。

max_map_count太小

vim /etc/sysctl.conf

#增加以下内容:
vm.max_map_count=262144 #保存退出vim后使sysctl.conf生效:
sysctl -p

最大文件大小

这个可以无需设置,基本都可以满足

centos 7 使用 xfs 文件系统 最大支持单文件8EB (大多数企业都可以满足)

centos 6 使用 ext4 文件系统 单文件达到16TB

DNS缓存设置

elasticsearch(二) 之 elasticsearch安装的更多相关文章

  1. elasticsearch 二、elasticsearch-head安装

    简介 elastricsearch-head是用于elasticsearch群集浏览和交互的插件. 源码:https://github.com/mobz/elasticsearch-head (上图来 ...

  2. ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

    注意事项: 1.ELK版本要求5.X以上,本人使用版本:elasticsearch-6.0.0.kibana-6.0.0-linux-x86_64.logstash-6.0.0.tar 2.Elast ...

  3. ElasticSearch(二)CentOs6.4下安装ElasticSearch

    一.准备工作 Elastic 需要 Java 8 环境.如果你的机器还没安装 Java,先需要安装java环境,同时还注意要保证环境变量JAVA_HOME正确设置. 链接:https://pan.ba ...

  4. 批量搞机(二):分布式ELK平台、Elasticsearch介绍、Elasticsearch集群安装、ES 插件的安装与使用

    一.分布式ELK平台 ELK的介绍: ELK 是什么? Sina.饿了么.携程.华为.美团.freewheel.畅捷通 .新浪微博.大讲台.魅族.IBM...... 这些公司都在使用 ELK!ELK! ...

  5. 大数据统计分析平台之二、ElasticSearch 6.2.1的安装与使用

    # 下载文件cd /usr/local/software wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch ...

  6. 分布式搜索引擎ElasticSearch+Kibana (Marvel插件安装详解)

    在安装插件的过程中,尤其是安装Marvel插件遇到了很多问题,要下载license.Marvel-agent,又要下载安装Kibana 版本需求 Java 7 or later Elasticsear ...

  7. 【ElasticSearch篇】--ElasticSearch从初识到安装和应用

    一.前述 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口,在企业中全文搜索时,特别常用. 二.常用概念 clu ...

  8. Elasticsearch报警插件Watch安装以及使用

    参考:http://blog.csdn.net/ptmozhu/article/details/52296958 http://corejava2008.iteye.com/blog/2214279 ...

  9. Elasticsearch学习之ElasticSearch 5.0.0 安装部署常见错误或问题

    ElasticSearch 5.0.0 安装部署常见错误或问题 问题一: [--06T16::,][WARN ][o.e.b.JNANatives ] unable to install syscal ...

  10. Elasticsearch在windows上安装好了之后怎么使用?

    windows 10上安装Elasticsearch过程记录 一.安装和配置Java JDK1.下载:http://download.oracle.com/otn ... 4.exe2.设置环境变量: ...

随机推荐

  1. Codeforces807 B. T-Shirt Hunt 2017-05-08 23:23 175人阅读 评论(0) 收藏

    B. T-Shirt Hunt time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  2. Win窗口坐标二维坐标与OpenGl的世界坐标系的之间的相互转换

    Win窗口坐标二维坐标与OpenGl的世界坐标系的转换 几何处理管线擅长于使用视图和投影矩阵以及用于裁剪的视口把顶点的世界坐标变换为窗口坐标. 但是,在有些情况下,需要逆转这个过程.一种常见的情形是: ...

  3. Sometimes , less is more

    给小团队的特别建议 小团队的普遍现象在于人力紧张,不管是在创业公司还是在大公司内.对于不写代码就手痒的技术人员,如果再在技术上有点儿完美主义情节,那真是可以为代码鞠躬尽瘁的.稍微一整理,事情恨不得已经 ...

  4. D3 API总览

    D3图形库API参考 https://github.com/d3/d3/wiki/API--%E4%B8%AD%E6%96%87%E6%89%8B%E5%86%8C d3 官网 API https:/ ...

  5. 如何充分利用 Windows Phone 高清屏幕

    Nokia 最近发布两款6寸大屏手机:Lumia 1520 和 Lumia 1320.为了支持这种设备 WP 升级了操作系统GDR3 支持了 1080P 的高清分辨率(1520),虽然GER3 是提供 ...

  6. 三、安装并配置Kubernetes Node节点

    1. 安装并配置Kubernetes Node节点 1.1 安装Kubernetes Node节点所需服务 yum -y install kubernetes   通过yum安装kubernetes服 ...

  7. Eclipse ADT 与VS 常用的快捷键 对比学习

    注:以下说的类型于VS,是指:VS+Resharper的快捷键,我是采用了Resharper作为VS的快捷键. 导航 Ctrl+1 快速修复 (类似于VS的alt+enter) Ctrl+D: 删除当 ...

  8. MYSQL的数据连接超时时间设置

    大规模多线程操作事务的时候,有时候打开一个链接,会进行等待,这时候如果数据库的超时时间设置的过短,就可能会出现,数据链接自动被释放,当然设置过大也不好,慢SQL或其他因素引起的链接过长,导致整个系统被 ...

  9. ES6 学习笔记之三 函数参数默认值

    定义函数时为参数指定默认值的能力,是现代动态编程语言的标配.在ES6出现之前,JavaScript是没有这种能力的,框架为了实现参数默认值,用了很多技巧. ES6 的默认参数值功能,与其他语言的语法类 ...

  10. python 检索一个目录下所有的txt文件,并把文件改为.log

    检索一个目录及子目录下所有的txt文件,并把txt文件后缀改为log: import os f_path = r'C:\Users\PycharmProjects\mystudy\Testfolder ...