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

在启动访问es的过程当中遇到了各类的奇葩问题。html

1.网上各类版本的启动方式让人眼花缭乱不知如何启动。简单粗暴——到es的bin目录下直接 执行bootstrap

./elasticsearch //显示启动,ctrl+c可中止,如要操做,换个终端
./elasticsearch -d 后台启动,可在当前终端继续操做
//后台启动,如要中止执行
kill -9 pid  //哈哈,直接杀掉进程
//搜索es进程pid能够酱紫
ps aux | grep elasticsearch 
//注意,不肯定那个是pid的话多执行几遍这个命令,看执行结果里不变的那个数字就是啦~

  

  成功后会看到酱紫的信息vim

而后测试一下curl

curl ‘http://localhost:9200’

 正常的话会出现酱紫的输出elasticsearch

好,目前为止一切正常,而后用ip访问的话却不通。我这是虚拟机,我在本机能够ping通虚拟机,可是没法访问es,在虚拟机里用ip访问也不行,提示 connection refused。测试

具体错误看图:url

解决办法:找到es的config文件夹的elasticsearch.yml文件,编辑spa

vim config/elasticsearch.yml

  找到network.host,冒号:后面跟一个空格,而后改为0.0.0.0.net

  

而后把最开头的#去掉,#是注释的意思最终变成酱紫htm

此处引用自: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 !

相关文章
相关标签/搜索