首页 > 代码库 > 学习elasticsearch(一)linux环境搭建(2)——启动elasticsearch

学习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 !

 

学习elasticsearch(一)linux环境搭建(2)——启动elasticsearch