ElasticSearch的安装

2020-04-08 16:06:54来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

ElasticSearch的安装

 

以在CentOS上的安装为例

 

1、解压

tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz

 

 

 

2、设置

(1)config/elasticsearch.yml

默认为127.0.0.1,只能在本地访问ES服务器。

需要将ip改为实际IP或者0.0.0.0,这样外部(其它机器)也能访问ES服务器。

ES使用的端口默认是9200,也可以修改为其它的。

 

 

需要配置集群的初始节点:不管ES集不集群都要配置,不集群只有一个节点,算是集群中只有一个节点。

数组中写节点名,节点名默认是node-1,集群时要改节点名:

一般是node-1,node-2,node-n来命名。

 

如果不配置集群的初始节点,会报错:未配置集群的初始节点,集群的初始节点至少为1个

 

 

 

(2)在防火墙中开放对应的端口

firewall-cmd --zone=public --add-port=9200/tcp --permanent

firewall-cmd --reload

 

 

 

(3)config/jvm.options

ES依赖JDK,自带了JDK,在解压目录下有一个jdk目录,自带的jdk往往是最新版本的jdk。

因为ES处理的数据量级很大,默认设置的JVM占用的内存也就很大(默认1g),我们的机器|虚拟机往往提供不了指定大小的内存,我们可以改小一点

最大堆内存、最小堆内存的值要相同。

如不设置,往往会报错:内初不够、空间不足。

 

 

 

(4)修改可打开的文件描述符数量

ES本身很吃资源,要求能打开的文件描述符数量至少是65536,而Linux默认一个登录的用户可打开的文件描述符数量是4096,需要改一下。

需要先切换到root用户,因为我们要修改的文件默认是只读的,需要root的权限。

vim /etc/security/limits.conf

加上2行:

* soft nofile 65536
* hard nofile 65536

*表示Linux的所有用户,也可以换为:要用来启动ES的用户(不能用root来启动)。

 

#End of file 官方不是写着玩的,文件至此结束,后面的内容不识别(无效),我们添加的配置要放在这个注释的前面。

 

查看此配置是否成功:先切换到要启动ES的用户

 ulimit -Hn

如果是65536就说明配置成功。

 

若未配置此项,会报错:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

 

 

 

(5)修改vm.max_map_count

默认为65530,ES要求至少为262144

sysctl -w vm.max_map_count=262144

此句命令需要root权限,可以先切换到root,或者以sudo执行

 

若未配置此项,会报错:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

 

 

 

(6)权限配置

ES不能用root账户启动,如果使用root账号启动ES,会报错:can not run elasticsearch as root

需要使用非root账户启动,如果没有其他账号,可以添加一个:

useradd 用户名
passwd 密码

 

启动ES的账号需要有解压目录的操作权限,所以需要配置一下解压目录的用户权限:先切换到root(解压目录的属主)

chmod 777 -R elasticsearch-7.6.2  #解压目录的路径要换为自己的,可以是相对路径,也可以是绝对路径

若不配置解压目录的权限,会报错:AccessDeniedException   没有相关权限

 

 

 

 

3、启动

切换到解压目录下,运行bin目录下的elasticsearch即可启动ES服务器

./bin/elasticsearch   #这样启动,当前标签页会用不了,需要重启一个标签页来执行命令。可以在后面加上 -d  以守护线程的方式启动

 

新起一个标签页,执行

curl 127.0.0.1:9200

也可以在浏览器中输入ip:port进行验证。如果看到以下内容,说明ES启动成功:

 

 

127.0.0.1:9200/_cat,_cat目录是ES自带的一些功能:

常用的有

  • master  查看master节点的信息
  • nodes  查看所有节点的信息,比如ip、堆使用情况、内存使用情况、cpu使用情况等。如果不知道这些列表示什么,nodes?v,加一个v会显示列名。
  • health  查看各节点的运行状况,green表示该节点正常运行(健康)

 

 

 

4、停止

ps -ef|grep elasticsearch 

第一列数字是pid, kill 相关的pid,结束进程

 


原文链接:https://www.cnblogs.com/chy18883701161/p/12661920.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:面试 Java 高级后端开发,要准备哪些知识点?

下一篇:springboot~引用地址jar包的方法