参考:http://blog.csdn.net/donghaixiaolongwang/article/details/57091987
1>java -version #验证下jdk是否安装,elasticsearch运行需要jdk环境。JDK version 最好在 1.8以上。
2>安装jdk(版本低或者没安装)
yum install jdk-8u66-linux-x64.rpm
3>新建一个账户
useradd elasticsearch
4>tar xf elasticsearch-2.4.1.tar.gz ##解压(数据包已下载)
5> cd elasticsearch-2.4.1
6> vim config/elasticsearch.yml #修改下配置文件,参看“Elasticsearch需要更改的配置”和“Elasticsearch配置详解了解”文章。自行取舍
7> 文件描述符、MMap、Swap分区、Elasticsearch分配的内存、设置(系统优化的地方)
======================文件描述符============================
设置文件描述符:ulimit -n 65536(root用户执行,临时生效)
设置文件描述符:永久生效
#vim /etc/security/limits.conf
elasticsearch soft nofile 65536 ##系统用户elasticsearch文件描述符限制为65536(软)超过就报警
elasticsearch hard nofile 65536 ##系统用户elasticsearch文件描述符限制为65536(硬)不可以超过
#elasticsearch soft memlock unlimited ##elasticsearch用户允许锁住内存无限制,有足够内存再开
#elasticsearch hard memlock unlimited ##elasticsearch用户允许锁住内存无限制,有足够内存开启
查看文件描述符限制是否设置成功:ulimit -n #记得你限制的是elasticsearch用户,别的用户是没改的
启动elsticsearch服务后验证下是否设置成就功:
curl -XGET "http://localhost:9200/_nodes/stats/process"
======================MMap设置============================
设置MMap大小:Elasticsearch对各种文件混合使用了 NioFs( 注:非阻塞文件系统)和MMapFs ( 注:内存映射文件系统)确保有足够的虚拟内存可以映射文件系统
设置(可以在 /etc/sysctl.conf 通过修改 vm.max_map_count 永久设置它):
sysctl -w vm.max_map_count=262144
查看设置:sysctl -n vm.max_map_count
======================Swap分区============================
设置操作系统尽量少使用交换分区(可以在 /etc/sysctl.conf通过修改 vm.max_map_count永久设置它):ES的数据尽量不换到交换分区中
sysctl -w vm.swappiness = 1
在你的 elasticsearch.yml文件中,设置如下:
#bootstrap.mlockall: true ##允许elasticsearch锁住内存不换到交换分区中,有足够内存在开启
======================Elasticsearch分配内存============================
你可以用下面的命令设置elasticsearch使用的内存:
export ES_HEAP_SIZE=10g
8> su elasticsearch
9> ./bin/elasticsearch -d #后台运行,去掉-d前台运行。
10> 查看端口9200 是否启动 :netstat -tulpn
11>例子:测试elasticsearch安装成功?
curl -XGET 'http://127.0.0.1:9200/?pretty'
{
"name" : "Elektro",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "1OFkdPqZS4GArpixy0cReA",
"version" : {
"number" : "2.4.1",
"build_hash" : "c67dc32e24162035d18d6fe1e952c4cbcbe79d16",
"build_timestamp" : "2016-09-27T18:57:55Z",
"build_snapshot" : false,
"lucene_version" : "5.5.2"
},
"tagline" : "You Know, for Search"
}