Ubuntu 16 搭建 elasticsearch 服务及问题解决

  最近下了一个 github 上的项目 mall (项目地址 : https://github.com/macrozheng/mall), 跟着这套代码学习了下 elasticsearch, 在搭建环境的过程中遇到了一些问题, 记录在这博客中。

  尝试在Ubuntu 16 环境下搭建 elasticsearch 服务 :

  

  elasticsearch 的安装比较简单, 下载对应的安装包到本地, 并使用 tar / unzip 进行解压, 运行 ./bin/elasticsearch 就可以启动了, 默认端口是 9200 

  

  显示 started 就表示已启动成功了, 访问启动日志中打印出的地址 : 192.168.118.131:9200 

  

  至此, elasticsearch 服务启动完成也成功访问。  接下来是遇到的一些问题:

 

  一 : [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] 问题

  查了网上的一些资料 , 都是说 修改  /etc/security/limits.conf 文件中增加对应用户的 nofile 以及 nproc 的设置

  

  修改这个文件, 如果在 /etc/pam.d/su 文件中配置了下面这一项, 应该是不用重启就能生效的

  

  网上说的是这样设置就可以了,  但是发现修改 limits.conf 文件保存后, 对 root 用户即刻生效,但是对我的 isolation 用户并没有生效, ulimit -Hn 查看的值还是 4096

 

  最后参考了这问答 : https://askubuntu.com/questions/1102512/set-ulimit-for-non-root-user  

  Ubuntu 16 还需要在下面这两个文件中 , 添加  DefaultLimitNOFILE=65536 这个配置项, 为 elasticsearch 用户设置的 ulimit -Hn 查询的值才会被修改

  1. /etc/systemd/user.conf
  2. /etc/systemd/system.conf,

  user.conf文件

  

  system.conf 文件 :

  

  最后检查配置修改结果 :

  

 

  二 : [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

  vim  /etc/sysctl.conf  在文件最后添加一行

  vm.max_map_count=262144

  重新启动 elasticsearch 即可

 

  三 : idea 项目启动时出现

  TransportClient Exception 或者是

  org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available:

  需要注意一下 elasticsearch 对 Http 的端口是 9200, 对 Java 的端口是 9300 , 这个在 ES_HOME/conf/elasticsearch.yml 文件中可以配置

  

 

  四 : 最后一个问题就是在安装 elasticsearch-head 时,启动后没有连接到 elasticsearch 的服务, 显示灰色的未连接 

  解决办法是把 ES_HOME/conf/elasticsearch.yml  中的 network.host 配置修改成本地的 ip 地址, 而不是设置成 127.0.0.1 或者 0.0.0.0 这种

  最后 进入 elasticsearch-head 安装的目录 npm run start,  elasticsearch-head 连接上 elasticsearch 并能查到装载的数据

    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

posted @ 2019-03-09 11:55  VimKeyLin  阅读(260)  评论(0编辑  收藏  举报