Elasticsearch安裝使用

 在網上有不少那種ES步驟和問題的解決 方案的,不過沒有一個詳細的整合,和問題的梳理;我就想着閒暇之餘,來記錄一下本身安裝的過程以及碰到的問題和心得;有什麼不對的和問題但願及時拍磚。javascript

第一步:環境java

 linux 系統 Java 1.8.0_151  elasticsearch-5.6.3node

第二步:下載linux

  2.1 JDK的下載能夠去官網上直接下載,再次聲明一下不要下載最新版本 JAVA 9 版本本人在次已經踩過坑了git

 2.2 ES 去官網直接下載,本人使用的是 5.6.3 版本;由於版本的不一樣安裝head插件的時候安裝步驟不一樣;好像是從5.0 之後的版本安裝head 插件的步驟就不同了;下面會詳細介紹。github

第三步:安裝npm

 3.1安裝JDK環境vim

   前提:查看該系統是否安裝過Java 環境,若是安裝過將其卸載安裝最新的版本,更換Java 的版本也能夠這樣去操做。 安全

   3.1.1 執行命令 rpm -qa|grep jdk 若是安裝過將會列出相應的版本,若是沒有什麼都不會輸出。若是安裝過使用rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.111-2.6.7.2.el7_2.x86_64 使用這個命令須要注意的就是,列出多少個版本插件就要卸載幾個插件;執行完成後;在使用 rpm -qa|grep jdk 去查看一下是否有遺漏的插件沒有卸載。bash

   3.1.2 直接將下載好的jdk-8u151-linux-x64.rpm 安裝包 ;上傳到本身建立好的JAVA文件下;cd 命令進入到JAVA文件下使用rpm 命令進行安裝 rpm -ivh jdk-8u131-linux-x64.rpm 安裝完成後執行 java -version 命令查看安裝是否成功

   3.1.3 查看安裝目錄命令,

      命令一:which java 

      命令二:ls -lrt /usr/bin/java

      命令三:ls -lrt /etc/alternatives/java

      最後將會得出這樣的目錄 /usr/java/jdk1.8.0_151/jre/bin/java

   3.1.4 配置環境變量,執行命令 vi /etc/profile;而後進入編輯模式,在文件的最後添加下面的配置,如圖

      JAVA_HOME=/usr/javajdk1.8.0_151
      JRE_HOME=/usr/java/jdk1.8.0_151/jre
      CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
      PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
      

                修改完配置後,使用Esc 鍵退出,輸入:wq 保存並退出    

         3.1.5 執行命令 source /etc/profile 使用環境變量生效

   3.1.6 驗證環境變量是否生效,分別執行下面的命令echo $JAVA_HOME  echo $CLASSPATH  echo $PATH  

    OK,JDK就這樣安裝好了。

 3.2安裝ES

     3.2.1 下載ES安裝包elasticsearch-5.6.3.zip 在usr 目錄下建立了es文件夾,將安裝包上傳到裏面,解壓 unzip elasticsearch-5.6.3.zip cd 進入 elasticsearch-5.6.3 文件裏面 

   3.2.2 建立ES用戶和組(建立elsearch用戶組及elsearch用戶),由於使用root用戶執行ES程序,將會出現錯誤;因此這裏須要建立單獨的用戶去執行ES 文件;命令以下:

      命令一:groupadd elsearch

      命令二:useradd elsearch -g elsearch

                   命令三:chown -R elsearch:elsearch elasticsearch-5.6.3  該命令是更改該文件夾下所屬的用戶組的權限

        3.2.3 修改host 文件,執行命令 vi /etc/hosts ,如圖

      

       3.2.4 建立ES數據文件和日誌文件,直接在root用戶根目錄一下建立就能夠了

      執行命令:mkdir /data

      命令二:chown -R elsearch:elsearch /data/

      命令三:su - elsearch 切換用戶

      命令四:mkdir -p es/data

      命令五:mkdir -p es/logs

   3.2.5 修改ES配置文件,使用cd命令進入到config 文件下,執行 vi elasticsearch.yml 命令,如圖所示,本人沒有配置集羣,只是簡單的配置了一下;詳細說明能夠參考官網;

                     

                  關於上面的警告都忽略了,而後直接就執行命令

              

        

     3.2.6  執行ES文件,進入到bin 目錄下執行 ./elasticsearch 命令就能夠了,執行 ./elasticesrarch -d 是後臺運行   

      若是沒有什麼問題話,就能夠安全生成了;而後執行curl 'http://本身配置的IP地址:9200/' 命令,就出現下面的結果

      

第四步:問題

    4.1  1.[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] 意思是說你的進程不夠用了

                  解決方案: 切到root 用戶:進入到security目錄下的limits.conf;執行命令 vim /etc/security/limits.conf 在文件的末尾添加下面的參數值:

                                    * soft nofile 65536

                                    * hard nofile 131072

                                    * soft nproc 2048

                                   * hard nproc 4096

                               前面的*符號必須帶上,而後從新啓動就能夠了。執行完成後可使用命令 ulimit -n 查看進程數      

 

                    2.[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]  須要修改系統變量的最大值了
                      解決方案:切換到root用戶修改配置sysctl.conf  增長配置值: vm.max_map_count=655360
           執行命令 sysctl -p   這樣就能夠了,而後從新啓動ES服務 就能夠了

 

第五步:安裝head 插件

        5.1 下載head安裝包,下載地址:https://github.com/mobz/elasticsearch-head/archive/master.zip 這是接從git 上下載下來 ,而後上傳到虛擬機上的;因爲head 插件不能放在elasticsearch-5.6.3 文件夾裏,head 插件須要單獨放,單獨去執行;             所 以在elasticsearch-5.6.3 同級目錄下解壓了 head 插件;解壓出來的文件名字,如圖

        

                   5.2 執行head  插件,須要node.js 的支持,因此,下面先安裝一node.js

                          5.2.1 執行命令一:curl -sL https://rpm.nodesource.com/setup_8.x | bash -

                                           命令二:yum install -y nodejs

                                       

                                      OK,執行完成後,可使用命令 node -v 驗證是否安裝成功,同時npm 也安裝成功了;執行命令 npm -v 也是能夠驗證的。

                                       

               5.3 安裝grunt ,因爲head 插件的執行文件是有grunt 命令來執行的,因此這個命令必須安裝

                         5.3.1  安裝命令一:npm install grunt --save-dev

                                         命令二:npm install                             

                                  

                     5.3.2 修改配置文件,cd 進入elasticsearch-head-master 文件夾下,執行命令vim Gruntfile.js文件:增長hostname屬性,設置爲*;如圖:

                               

             5.3.3  修改 vim _site/app.js 文件:修改head的鏈接地址:,如圖所示:

                             

           5.3.4  最後一個命令: grunt server &  執行完成後就OK了

           5.3.5 涉及到的問題,在網頁上沒法正常訪問;查看防火牆是否關閉

                       5.3.5.1 執行命令service iptables status 查看狀態 ;直接將防火牆關閉就行了 執行命令service iptables stop

                                      

             最後執行的結果是這樣的,我沒有配置集羣: 注意下面使用的端口號,不在是9200 了 而是head 插件中的 9100 了

             

         看到上面的出現的健康值了嗎,說明的鏈接仍是有問題的,解決方案是修改 cd 命令進入到elasticsearch-5.6.3 /config 文件中 vi elasticsearch.yml

         文件下添加 :

        http.cors.enabled: true
        http.cors.allow-origin: "*"
        

       而後從新執行ES  ./elasticsearch 成功起來就能夠了,執行結果就是這樣的

     

 安裝ik插件:

$ ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.5.6/elasticsearch-analysis-ik-5.5.6.zip
相關文章
相關標籤/搜索