學習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 !

相關文章
相關標籤/搜索