Elasticsearch-5.6.16.tar.gz版本安装配置
安装JDK1.8
下载链接:https://pan.baidu.com/s/1uvktlm-6AqhQKJQZR1nQuw
上传到机器
1 | [root@CentOS7_node1 src]# tar xf jdk-8u161-linux-x64.tar.gz -C /usr/local/ |
安装Elasticsearch
下载链接:https://pan.baidu.com/s/1hDPam2SWACkbvaz8W_r2SQ
上传到机器
1 | [root@CentOS7_node1 src]# tar xf elasticsearch-5.6.16.tar.gz -C /usr/local/ |
- bin目录:二进制脚本启动es程序文件以及启动es插件目录
- config目录:elasticsearch配置文件
- data目录:默认Elasticsearch生成的索引/切片数据文件存放目录,可以指定多个位置来存储数据
- lib目录:一些开发的jar包
- logs目录:elasticsearch日志目录
- modules目录:模块目录,详情看官网链接:https://www.elastic.co/guide/en/elasticsearch/reference/5.6/modules.html
- plugins目录:elasticsearch插件目录,此版本tar包装后默认无插件
bin目录文件介绍
1 | [root@CentOS7_node1 elasticsearch-5.6.16]# tree bin/ |
config目录文件介绍
1 | [root@CentOS7_node1 elasticsearch-5.6.16]# tree config/ |
logs目录文件介绍
1 | log目录默认是没有的,需要你正常启动elasticsearch后,会在你的es目录下自动生成一个log目录 |
创建elasticsearch所用到的用户及组
elasticsearch默认是不能以root身份去运行的,否则启动会报错误信息为“can not run elasticsearch as root Elasticsearch”,所以我们要创建一个普通用户来管理elasticsearch
创建elasticsearch用户及组
1 | [root@CentOS7_node1 /]# groupadd elasticsearch |
更改Elasticsearch目录属性信息
1 | [root@CentOS7_node1 /]# chown -Rf elasticsearch:elasticsearch /usr/local/elasticsearch-5.6.16 |
启动elasticsearch
1 | 切换到elasticsearch用户来启动ES |
以上告警有WARN警告信息,我们一定要注意下,并解决此问题,这涉及到了ES的两种模式,分别为:开发者模式和生产模式
开发者模式可生产模式
默认情况下,Elasticsearch假定您正在开发模式下工作。如果未正确配置上述任何设置,则会向日志文件写入警告,但您将能够启动并运行Elasticsearch节点。
一旦配置了网络设置network.host(此参数在elasticsearch.yml文件中配置),Elasticsearch就会假定您正在转向生产并将上述警告升级为异常。这些异常将阻止您的Elasticsearch节点启动。这是一项重要的安全措施,可确保您不会因服务器配置错误而丢失数据。
为了更让我们的测试环境贴合生产模式,我们坚决不允许它出半点问题
启动失败问题
1.文件描述符过低
[2019-05-07T23:39:27,529][WARN ][o.e.b.BootstrapChecks ] [lPEqF6-] max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解决:
修改文件描述符数量
1 | echo '* soft nofile 65536' >> /etc/security/limits.conf |
2.max_map_count值为65530]太低,至少增加到262144
[2019-05-07T23:39:27,529][WARN ][o.e.b.BootstrapChecks ] [lPEqF6-] max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
在linux系统上,elasticsearch默认使用hybrid mmapfs / niofs来存储索引文件,因此操作系统主要会通过mmap来限制存储的空间,因此如果存储空间满了,那么会抛出异常,我们可以使用如下命令来更改设置。
解决:
修改max_map_count值
1 | 临时设置: |
3.这个问题我们现在虽然是没遇见,但是建议先把坑填上,不然还是会出现的
在ES启动的时候警告信息为:“Unable to lock JVM Memory: error=12, reason=Cannot allocate memory”,无法分配内存的意思
解决:
1 | [root@CentOS7_node1 ~]# echo '* soft memlock unlimited' >> /etc/security/limits.conf |
再次启动
首先要退出终端,然后重新登录,让elasticsearch用户能够重新加载我们刚修改的配置
1 | [root@CentOS7_node1 ~]# su elasticsearch |
ES端口详解
再次打开一个终端
1 | [root@CentOS7_node1 ~]# ps -ef|grep java |
查看java进程可以看到我们的elasticsearch是以elasticsearch用户所启动
查看端口看到ES默认启用两个端口,分别是TCP端口9200及TCP端口9300,但是只监听在了127.0.0.1的地址上,如需修改监听地址,我们可以通过config/elasticsearch.yml文件来修改。
9200端口是为搜索服务所提供的端口。
9300是ES集群中通信端口,根据9300端口来判定集群各节点的存活性,此端口采用单播的形式进行集群通信。
测试ES是否启动成功
打开一个终端,访问本地9200端口,查看返回信息
1 | [elasticsearch@CentOS7_node1 root]$ curl http://127.0.0.1:9200 |
转载于: