嗯,公司要建一個基於ELK的日誌分析平臺,我先做下技術儲備
-
安裝jdk
jdk安裝比較簡單,但是有一點要注意es的啓動不能以root來進行,所以要提前創建一個用戶,jdk在root好用不一定在用戶中也好用,在使用前可以試一試java -version
。
如果沒有出現可能是jdk環境變量配置的問題,我之前遇到了這個問題按照一些博客重新設置了環境變量如我參考的博客但是沒有成功,如果也有遇到同樣問題的可以參考這個博客,如果不成功可以像我這樣直接在用戶中再安一個java,雖然比較笨,但也能解決問題。 -
安裝es
然後是去官網下載es,然後將其傳到服務器,建一個文件夾es存放下好的tar包。
選擇MACOS/Linux下載就ok。
然後解壓es並且進入準備運行一下試試
如果出現Exception in thread “main” java.nio.file.AccessDeniedException:
這是因爲用戶沒有權限在root下給他權限就好了
解決方法: chown linux用戶名 elasticsearch安裝目錄 -R
然後再啓動試試
嗯,果然出了一些問題說文件最大的打開數是65535,而es需要65536。。。。我們要切回到root下修改文件最大打開數vi /etc/security/limits.conf
修改如下四個參數爲65536
再次啓動只剩下一個問題了
這次是elasticsearch用戶擁有的內存權限太小,至少需要262144;
vi /etc/sysctl.conf
添加一條
vm.max_map_count=263000
然後執行
sysctl -p
再次啓動es
成功啓動了,接下來可以試着訪問他的9200端口
訪問沒有成功
但是本機訪問成功了
應該是端口問題了,我們先打開es的yml配置
vi conf/elasticsearch.yml
然後添加這倆條
network.bind_host: 0.0.0.0
network.publish_host: 127.0.0.1
再次啓動訪問試試,還是失敗了,由於我是使用阿里雲ecs,所以可能是安全組策略問題,我進入我的阿里雲控制檯並且添加了一條新的安全組策略開放9200端口
再次用瀏覽器訪問
ojbk,真的是很麻煩啊。最後一句,爲什麼1024程序員節大家 的慶祝方式不是放假,都是寫1024行代碼慶祝?硬核過節??