安装过程基本来自互联网, 有一个小问题需要解决.
centos中
ulimit -n (默认是1024), ES需要65536, 所以我们需要修改.
修改的方法, 网上有很多, 大多都不可用.
本人试坑后, 以下可用.
vim /etc/security/limits.conf
添加配置如下:
es(网上大多是*, 导致不生效) soft nofile 65536
es hard nofile 131072
es soft nproc 4096
es hard nproc 4096
作者:有梦想永远年轻
链接:https://www.jianshu.com/p/15d31cf30154
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
一、ES安装需求
硬件环境: Centos7
软件环境: JDK8
二、ES安装(来自网上, 可用)
1.下载elasticsearch
官网可以直接下载,可以选择最新版本,也可以下载历史版本(箭头所示为历史版本),本案例中选择的是6.2.4版本
2.安装elasticsearch
2.1.上传压缩包并解压
tar zxvf elasticsearch-6.2.4.tar.gz
目录重命名:mv elasticsearch-6.2.4 elasticsearch
2.2.创建ES用户
默认ES 6.X 是不允许root用户运行的,否则ES运行的时候会报错,所以我们需要创建新的用户
命令:useradd es
命令:passwd es(设置密码)
修改权限 : chown -R es:es elasticsearch-6.2.4
切换用户:su es
2.3.修改配置
进入config目录,有两个配置文件需要修改:
2.3.1 修改jvm.options
命令:vi jvm.options
默认配置:
-Xms1g
-Xmx1g
修改配置:内存占用太多,可以调小一点
-Xms512m
-Xmx512m
2.3.2 修改elasticsearch.yml
命令:vi elasticsearch.yml
修改数据和日志目录:
path.data: /home/yinlian/elasticsearch/data # 数据目录位置
path.logs: /home/yinlian/elasticsearch/logs # 日志目录位置
修改绑定的ip:
network.host: 0.0.0.0 # 绑定到0.0.0.0,允许任何ip来访问(默认是只有本机访问)
2.3.3 创建data目录
刚才我们修改配置,把data和logs目录修改指向了elasticsearch的安装目录。但是data目录并不存在,因此我们需要创建出来:
mkdir /home/yinlian/elasticsearch/data
2.4 运行
进入elasticsearch/bin目录,执行命令:
./elasticsearch
发现报错了,有以下几个错误,逐个解决:
错误1:内核过低
我们使用的是centos6,其linux内核版本为2.6。而Elasticsearch的插件要求至少3.5以上版本。禁用插件即可
修改elasticsearch.yml文件,在最下面添加如下配置:
bootstrap.system_call_filter: false
错误2:文件权限不足
先切换到root用户,然后再修改如下配置:
vi /etc/security/limits.conf
添加配置如下:
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
错误3:线程不够
继续修改配置:vi /etc/security/limits.d/90-nproc.conf
* soft nproc 1024 修改为 * soft nproc 4096
错误4:elasticsearch用户拥有的内存权限太小
继续修改配置:vi /etc/sysctl.conf
添加内容:vm.max_map_count=655360
然后执行命令:sysctl -p
所有错误修改完毕,一定要重启你的 Xshell终端,否则配置无效。
再次启动运行,成功了
2.5 解决浏览器访问不到的问题
启动之后可以看到绑定了两个端口:
9300:集群节点间通讯接口
9200:客户端访问接口
浏览器访问:http://192.168.105:9200
如果访问不到,需要关闭防火墙或添加端口号9200
再次访问可以看到如下效果:
{
"name" : "-9IC_4c",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "hTK55_HrQtGkKpiq-pfH-g",
"version" : {
"number" : "6.2.4",
"build_hash" : "ccec39f",
"build_date" : "2018-04-12T20:37:28.497551Z",
"build_snapshot" : false,
"lucene_version" : "7.2.1",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}