CentOS7上ElasticSearch安装填坑记

  

 CentOS7上ElasticSearch安装填坑记

  <人力资源/>   

下载弹性搜索5.3.0

  
 <代码> wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.0.tar.gz
  mv elasticsearch-5.3.0.tar。广州/opt
  cd/选择
  焦油-xzvf elasticsearch-5.3.0.tar.gz
  cd elasticsearch-5.3.0/<代码> 
  <人力资源/>   

启动ES

  
 <代码> cd/bin
  代码。/elasticsearch  之前
  

按照道理应该就可以了,然而接下来各种坑一一出现,分别阐述

  
  

<强>错误1 :<代码>错误='无法分配内存(errno=12)

     

 CentOS7上ElasticSearch安装填坑记

  

<强>解决方案:
由于elasticsearch6.0默认分配jvm空间大小为2 g,需要改小一点

  
 <代码> vim配置/jvm.options
  -Xms2g→-Xms512m
  -Xmx2g→-Xmx512m  
  
  

<强>错误2 :不能作为根用户运行elasticsearch

     

 CentOS7上ElasticSearch安装填坑记

  

<强>解决方案:
在Linux环境中,elasticsearch不允许以根权限来运行!所以需要创建一个非根用户,以非根用户来起es

  
 <代码> groupadd麋鹿#创建用户组麋鹿
  useradd麋鹿- g麋鹿- p 111111号创建新用户麋鹿,g麋鹿设置其用户组为麋鹿,- p 111设置其密码6个1
  乔恩- r麋鹿:麋鹿/opt #更改/opt文件夹及内部文件的所属用户及组为麋鹿:麋鹿
  苏麋鹿#切换到非根用户麋鹿下来 
  
  

<强>错误3 :(1)马克斯elasticsearch进程的文件描述符[4096]太低,增加到至少[65536]
(2)最大虚拟内存区域vm。max_map_count[65530]太低,增加到至少[262144]

     

此错误出现在修改配置/elasticsearch.yml中的network.host为网络。主持人:0.0.0.0以便让外网任何IP都能来访问时。

  

<强>解决方案:
切换到根用户,然后

  
 <代码> vim/etc/security/limits.conf
  *软nofile 300000
  *硬nofile 300000
  *软nproc 102400
  *软memlock无限
  *硬memlock无限 
  

 CentOS7上ElasticSearch安装填坑记

  
  

<强>错误4 :马克斯vm虚拟内存区域。max_map_count[65530]太低,增加到至少[262144]

     

 CentOS7上ElasticSearch安装填坑记

  

<强>解决方案:
先要切换到根用户;
然后可以执行以下命令,设置vm。max_map_count,但是重启后又会恢复为原值。

  
 <代码> sysctl - w vm.max_map_count=262144  
  

持久性的做法是在/etc/sysctl.参看文件中修改vm。max_map_count参数:

  
 <代码>回声”vm。祝辞max_map_count=262144”;/etc/sysctl.conf
  sysctl - p  
  

 CentOS7上ElasticSearch安装填坑记

  

最后终于在外网访问成功:

  

 CentOS7上ElasticSearch安装填坑记

  <人力资源/>   

安装可视化插件elasticsearch-head

  
 <代码> git克隆git://github.com/mobz/elasticsearch-head.git
  cd elasticsearch-head
  npm安装#此处我试图用cnpm安装有问题,用npm可以
  npm运行开始 
  

 CentOS7上ElasticSearch安装填坑记

  

然后在外网访问http://你的安装机IP: 9100

  

 CentOS7上ElasticSearch安装填坑记

  <人力资源/>   

最后实际简单测试一下

  

新建索引,可以直接向弹性服务器发出把请求。下面的例子是新建一个名叫天气的指数。

CentOS7上ElasticSearch安装填坑记