最近下了一个 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 查询的值才会被修改
/etc/systemd/user.conf
/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 并能查到装载的数据
原文:https://www.cnblogs.com/forwrader/p/10500149.html