首先安装和启动服务的教程是参考文章:
然后在最后的启动es服务时遇到了几个小问题,因此在这里记录一下。
因为我对linux并不是很熟悉,因此文中如果有说错的或者是使用了笨拙的方式的,欢迎指出。
2、can not run elasticsearch as root
4、在aliyun启动服务后,无法在自己的浏览器上访问es服务
就像开头那个文章链接里说的,服务启动成功后要访问下127.0.0.1:9200来看看服务启动成功没 ,但是在aliyun启动后,ssh里访问127.0.0.1:9200是没问题的,但是我PC浏览器上无法访问。
这里有两个问题,1是没把9200端口添加到aliyun后台的安全组规则白名单里面,2是es启动默认只监听127.0.0.1(本地环回)
针对阿里云的安全组规则白名单我就不细说了,网上都有文章的,我这里只说说修改es只监听本地环回问题
解决方法:修改config/elasticsearch.yml,把network.host前面的注释符号去掉,并把值改为0.0.0.0;把discovery.seed_hosts前面的注释符号去掉,并把值改为0.0.0.0,修改完之后重启服务,然后就能在自己的PC浏览器上访问9200端口了。
改成0.0.0.0的一个弊端就是公网任何IP段都能直接访问你这个es的端口服务了,这个问题自己斟酌。
5、当把es监听从本地环回改为0.0.0.0之后,会触发es的启动检查,然后可能会报出如下图的错误(max virtual memory area vm.max_map_count [65530] is too low)
其中第二条我已经在第4步提前处理了,所以正确执行第4步的是不会出现第2条的。
至于第一条是因为esUser用户的权限问题,
解决方法(针对第1条):先执行sysctl -w vm.max_map_count=262144(具体的值可以根据服务器配置修改下,2的n次方),然后在/etc/sysctl.conf文件最后添加一行vm.max_map_count=262144,使永久生效。