elasticsearch(二) 之 elasticsearch安装
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 | 
在进入生产之前我们必须要考虑到以下设置
- 禁用swap
 - 增加文件描述符
 - 合适配置的jvm内存
 - 足够的线程
 - 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安装的更多相关文章
- elasticsearch 二、elasticsearch-head安装
		
简介 elastricsearch-head是用于elasticsearch群集浏览和交互的插件. 源码:https://github.com/mobz/elasticsearch-head (上图来 ...
 - 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 ...
 - ElasticSearch(二)CentOs6.4下安装ElasticSearch
		
一.准备工作 Elastic 需要 Java 8 环境.如果你的机器还没安装 Java,先需要安装java环境,同时还注意要保证环境变量JAVA_HOME正确设置. 链接:https://pan.ba ...
 - 批量搞机(二):分布式ELK平台、Elasticsearch介绍、Elasticsearch集群安装、ES 插件的安装与使用
		
一.分布式ELK平台 ELK的介绍: ELK 是什么? Sina.饿了么.携程.华为.美团.freewheel.畅捷通 .新浪微博.大讲台.魅族.IBM...... 这些公司都在使用 ELK!ELK! ...
 - 大数据统计分析平台之二、ElasticSearch 6.2.1的安装与使用
		
# 下载文件cd /usr/local/software wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch ...
 - 分布式搜索引擎ElasticSearch+Kibana  (Marvel插件安装详解)
		
在安装插件的过程中,尤其是安装Marvel插件遇到了很多问题,要下载license.Marvel-agent,又要下载安装Kibana 版本需求 Java 7 or later Elasticsear ...
 - 【ElasticSearch篇】--ElasticSearch从初识到安装和应用
		
一.前述 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口,在企业中全文搜索时,特别常用. 二.常用概念 clu ...
 - Elasticsearch报警插件Watch安装以及使用
		
参考:http://blog.csdn.net/ptmozhu/article/details/52296958 http://corejava2008.iteye.com/blog/2214279 ...
 - Elasticsearch学习之ElasticSearch 5.0.0 安装部署常见错误或问题
		
ElasticSearch 5.0.0 安装部署常见错误或问题 问题一: [--06T16::,][WARN ][o.e.b.JNANatives ] unable to install syscal ...
 - Elasticsearch在windows上安装好了之后怎么使用?
		
windows 10上安装Elasticsearch过程记录 一.安装和配置Java JDK1.下载:http://download.oracle.com/otn ... 4.exe2.设置环境变量: ...
 
随机推荐
- hdu 5023 线段树+状压
			
http://acm.hdu.edu.cn/showproblem.php?pid=5023 在片段上着色,有两种操作,如下: 第一种:P a b c 把 a 片段至 b 片段的颜色都变为 c . 第 ...
 - [翻译] Using Custom Functions in a Report 在报表中使用自己义函数
			
Using Custom Functions in a Report 在报表中使用自己义函数 FastReport has a large number of built-in standard ...
 - NET平台开源项目速览(6)FluentValidation验证组件介绍与入门(转载)
			
原文地址:http://www.cnblogs.com/asxinyu/p/dotnet_Opensource_project_FluentValidation_1.html 阅读目录 1.基本介绍 ...
 - 【TypeScript】TypeScript 学习 5——方法
			
在 JavaScript 中,有两种方式定义方法. 1.命名的方法 function add(x,y){ return x+y; } 2.匿名方法 var myAdd = function(x,y) ...
 - 两种方式创建支持SSH服务的docker镜像
			
方法一:基于commit命令创建 1.首先,从docker的源中查看我们需要的镜像,本案例中使用Ubuntu作为基础镜像. # federico @ linux in ~ [16:57:38] $ s ...
 - 深入理解Aspnet Core之Identity(1)
			
最近学习asp.netcore 打算写出来和大家分享,我计划先写Identity部分,会从开始asp.netocre identity的简单实用开始,然后再去讲解主要的类和自定义这些类. 主题:asp ...
 - 构建NetCore应用框架之实战篇(四):BitAdminCore框架1.0登录功能细化及技术选型
			
本篇承接上篇内容,如果你不小心点击进来,建议从第一篇开始完整阅读,文章内容继承性连贯性. 构建NetCore应用框架之实战篇系列 一.BitAdminCore框架1.0版本 1.1.0版本是指最小版本 ...
 - Oracle树结构查询按层级排序
			
SQL代码: SELECT t.* FROM pt_org_info t START CONNECT BY t.par_id = PRIOR t.id ORDER SIBLINGS BY t.id; ...
 - C# 32位程序,申请大内存,附dome(wpf),亲测可用
			
1.我是vs2017,在选装vs的时候,需要安装c++模块,因为申请大内存的必要exe存放在vc的某个目录(下面会给出详细的地址)下的 2.安装完成在vs的安装目录可找到这个文件,我是社区版本的,如果 ...
 - 网络请求 get 请求时, 如果参数中的字符带有+号
			
网络请求 get 请求时, 如果参数中的字符带有+号, 今天前端在调用我的API时, 发现有个参数一直没法通过我后台的验证, 但是在前端查看时, 该参数结构又没有什么异常, 又是一番查找, 直到在后端 ...