es出新版了,雖然公司裏仍是用的老版本,可是本地仍是有必要本身安裝了玩玩java
下載地址:https://www.elastic.co/cn/downloads/elasticsearchlinux
那麼通常來講仍是建議安裝到linux裏,固然選擇在win和mac也ok,咱們這裏以linux安裝爲主redis
下載完畢之後上傳到linux中:bootstrap
安裝es以前,務必安裝jdk1.8以上,官方說到openjdk也能夠,可是沒試過,你們能夠自行嘗試,如下就是官方的依賴說明,怎麼安裝jdk的,很少說了。。應該都會vim
解壓es的tar包:安全
隨後進入解壓後es的目錄,以下:elasticsearch
依次說一下目錄結構吧:ui
bin:可執行文件在裏面,運行es的命令就在這個裏面spa
config:配置文件目錄操作系統
lib:依賴的jar
logs:日誌
modules:模塊
plugins:能夠本身開發的插件
data,這個目錄,沒有,本身新建一下:mkdir data,這個做爲索引目錄
隨後進入conf目錄,使用vim 修改 elasticearch.yml
修改集羣名稱,默認是elasticsearch,雖然目前是單機,可是也會有默認的
爲當前的es節點取個名稱,名稱隨意,若是在集羣環境中,都要有相應的名字
這是修改數據和日誌的存儲目錄
設置綁定的ip,和redis一個道理,設置爲0.0.0.0之後就可讓任何計算機節點訪問到你了
設置在集羣中的全部節點名稱,這個節點名稱就是以前所修改的,固然你也能夠採用默認的也行,目前是單機,放入一個節點便可
修改完畢後,保存退出vim,隨後就準備啓動es了,進入到bin目錄,運行es:./elasticsearch
這個時候報了一個異常:
java.lang.RuntimeException: can not run elasticsearch as root
很明顯,提示說咱們沒法使用root用戶來運行es,這是es的設計,爲了安全
那麼這個時候就須要建立一個新用戶,而且爲這個用戶添加es目錄的操做權限了
切換用戶之後,再次運行 ./elasticserch
此時又報錯,來看一下:
java.lang.UnsupportedOperationException: seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER
其實從異常能夠看出是不支持的操做系統,主要是 seccomp,那麼從新進入 conf 下去配置 elasticsearch.yml
增長下面這一行配置,用於禁用seccomp
回到bin目錄再次啓動es,又發現以下3個錯誤:
ERROR: [3] bootstrap checks failed [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535] [2]: max number of threads [1024] for user [lee] is too low, increase to at least [4096] [3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
那麼依次去修改,不過得從新切換到root用戶, su root
修改以下文件
添加以下:
* soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096
vim /etc/security/limits.d/90-nproc.conf 修改此文件
改成4096
改完之後從新切換到非root用戶lee下,運行es
這個時候發現已經成功啓動了,以下是es的相關信息:
那麼如今是前臺啓動方式,咱們須要改成後臺啓動方式來運行es,這樣會更好
能看懂吧?很少說了哈
那麼安裝到此完畢!