elasticsearch安装遇到的坑

2019-11-26 来源: jy_s 发布在  https://www.cnblogs.com/mCarrYoung/p/11936847.html

ES的安装与启动时问题解决

环境:

​ 系统环境:CentOS7

​ JDK:jdk-8u131-linux-x64.tar.gz

不可以通过Root用户来启动ES

通过上面的错误提示可以看出,can not run elasticsearch as root,所以要创建一个用户来启动ES

创建用户:useradd test

设置密码:passwd 123456

通过上面的指令创建出来的用户是属于test组的,当创建出来一个用户的时候,默认的所属组就是这个用户名子的组

权限不足,拒绝访问

切换到root用户下,在 elasticsearch目录的上一级目录执行 chown -R 用户名:所属组 elasticsearch目录

宿主机无法访问到虚拟机的ElasticSearch服务

首先在虚拟机里面执行 curl http://localhost:9200测试是否可以访问到

有红色方框内的内容,试为elasticearch服务启动成功

但是在宿主机出现了这拒绝访问的情况

在ElasticSearch的目录里面有一个conf/elasticsearch.yml的配置文件

这里要修改几个地方(因为这个是yml配置文件,一定要注意这里的空格),记得将前面的#号去掉

  • network.host: 0.0.0.0 将这个修改成0.0.0.0
  • http.port: 9200

创建文件权限低

这里需要修改一个Linux的配置文件limits.conf:这个文件我了解的不是很熟,我找到了一个网上一个网友的博客,有兴趣的可以看下: https://www.cnblogs.com/configure/p/7474721.html

进入/etc/security有一个limits.conf,在最下面加入这几行指令

*                hard    nofile          65536 #最大文件描述符
*                soft    nofile          65536
*                soft    nproc           4096  #这个是针对的线程数
*                hard    nproc           4096

这里不知道为啥使用source提示错误,重启了下虚拟机就没问题了

虚拟机的最大虚拟内存区域过低

打开vi /etc/sysctl.conf文件

在最下面写上:

vm.max_map_count=655360

保存后sysctl -p这个命令将在指定的配置文件中加载配置 ,如果不指定从/etc/sysctl.conf文件加载

第一次遇到的错误,原因未知

/usr/local/elasticsearch/config里面有一个elasticsearch.yml

#cluster.initial_master_nodes: ["node-1", "node-2"]

找到这个复制一行修改成

#cluster.initial_master_nodes: ["node-1"]

上面操作完成后,我重启了下虚拟机,或者选择需要更新的配置文件,让配置文件生效

相关文章