首先安裝和啟動服務的教程是參考文章:ES入門之一 安裝ElasticSearch
然后在最后的啟動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,使永久生效。