学习elasticsearch(一)linux环境搭建(2)——启动elasticsearch
在启动访问es的过程中遇到了各种的奇葩问题。
1.网上各种版本的启动方式让人眼花缭乱不知如何启动。简单粗暴——到es的bin目录下直接 执行
./elasticsearch //显示启动,ctrl+c可停止,如要操作,换个终端 ./elasticsearch -d 后台启动,可在当前终端继续操作 //后台启动,如要停止执行 kill -9 pid //哈哈,直接杀掉进程 //搜索es进程pid可以酱紫 ps aux | grep elasticsearch //注意,不确定那个是pid的话多执行几遍这个命令,看执行结果里不变的那个数字就是啦~
成功后会看到酱紫的信息
然后测试一下
curl ‘http://localhost:9200’
正常的话会出现酱紫的输出
好,目前为止一切正常,然后用ip访问的话却不通。我这是虚拟机,我在本机可以ping通虚拟机,但是无法访问es,在虚拟机里用ip访问也不行,提示 connection refused。
具体错误看图:
解决办法:找到es的config文件夹的elasticsearch.yml文件,编辑
vim config/elasticsearch.yml
找到network.host,冒号:后面跟一个空格,然后改成0.0.0.0
然后把最开头的#去掉,#是注释的意思最终变成酱紫
此处引用自:http://www.jianshu.com/p/658961f707d8 感谢作者爱跑咪
OK,保存后重新启动es
嗯这时可能会报错。常见的比如
ERROR: [2] bootstrap checks failed [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
一般出现在这些位置
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]解决办法 此处引用自:http://blog.csdn.net/u012371450/article/details/51776505 感谢原作者分享宝贵经验
另开一个终端用root操作 //输入密码.... [root@localhost ~]# cp /etc/security/limits.conf /etc/security/limits.conf.bak [root@localhost ~]# cat /etc/security/limits.conf | grep -v "esadmin" > /tmp/system_limits.conf [root@localhost ~]# echo "esadmin hard nofile 65536" >> /tmp/system_limits.conf [root@localhost ~]# echo "esadmin soft nofile 65536" >> /tmp/system_limits.conf [root@localhost ~]# mv /tmp/system_limits.conf /etc/security/limits.conf
记得换成自己的es用户名,我的esadmin
最后问你要不要保存,输入yes
然后在你执行es的用户终端,退出你这个es用户,然后重新进入一下。不然更改不会生效!
//比如 su root //输入密码... su esadmin
然后验证
ulimit -Hn
65536//输出这个就算对了
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144] 解决办法 此处引用自:http://www.cnblogs.com/sloveling/p/elasticsearch.html。感谢原作者分享宝贵经验
切换到root用户修改配置sysctl.conf vi /etc/sysctl.conf 添加下面配置: vm.max_map_count=655360 并执行命令: sysctl -p 然后,重新启动elasticsearch,即可启动成功。
ok,现在重启es,如果成功了,基本就搞定了。
用localhost和ip分别访问。
哈哈,es! you,know,for Search !