1. 程式人生 > >elasticsearch摸石頭過河——基本安裝應用(三)

elasticsearch摸石頭過河——基本安裝應用(三)

   

    首先從官網下載elasticsearch:https://www.elastic.co/downloads/elasticsearch

    需要jdk版本1.8:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    1.先解壓安裝 JDK(如果已有可忽略)

       tar  -zxvf  jdk-8u131-linux-x64.tar.gz

    2.yum安裝各種需要的命令外掛(如果已有可忽略)

      yum -y install nodejs npm git wget vim

    安裝npm出現過問題

    npm install
    出現license問題
    npm WARN [email protected] license should be a valid SPDX license expression
    進入 package.json檔案,修改
    Apache 改為:Apache-2.0

    3.配置JDK環境變數

     新增環境變數 etc/profile

       export JAVA_HOME=/usr/java/jdk1.8.0_131
       export JRE_HOME=${JAVA_HOME}/jre
                 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
                 export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
                 export PATH=$PATH:${JAVA_PATH}

      讓環境變數立即生效需要執行如下命令:
      source /etc/profile

    4.解壓 並啟動elasticsearch

       由於不能使用root使用者啟動,建立使用者
     adduser es1
     passwd 12345678
        授權root使用者組
                  usermod -g root es1
     新增:與root相同的許可權

       所有使用者 目錄授權:chmod -R 777 目錄PATH

       切換使用者:su es1

     切換到elasticsearch目錄,nohup./bin/elasticsearch& 後臺啟動

     遇到錯誤:   max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

      修改檔案:

      

[[email protected] ~]# cp /etc/security/limits.conf /etc/security/limits.conf.bak
[[email protected] ~]# cat /etc/security/limits.conf | grep -v "es1" > /tmp/system_limits.conf
[[email protected] ~]# echo "es1 hard nofile 65536" >> /tmp/system_limits.conf 
[[email protected] ~]# echo "es1 soft nofile 65536" >> /tmp/system_limits.conf 
[[email protected] ~]# mv /tmp/system_limits.conf /etc/security/limits.conf

      一定要重新登入使用者才會生效

     再次啟動:

     遇到錯誤:       max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

    或者:

1 解決:切換到root使用者,編輯limits.conf 新增類似如下內容
2 vi /etc/security/limits.conf 
3 新增如下內容:
4 * soft nofile 65536
5 * hard nofile 131072
6 * soft nproc 2048
7 * hard nproc 4096

 

1 sudo gedit /etc/sysctl.conf
2 在該檔案任意地方加入:vm.max_map_count=655360
3 sudo sysctl -p
 然後重啟ES

  es會預設分配1G或者2G記憶體,可以在config/jvm.options 中修改記憶體大小

################################################################
## IMPORTANT: JVM heap size
################################################################
##
## You should always set the min and max JVM heap
## size to the same value. For example, to set
## the heap to 4 GB, set:
##
## -Xms4g
## -Xmx4g
##
## See https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html
## for more information
##
################################################################

# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space

-Xms3g
-Xmx3g

################################################################
## Expert settings
################################################################
##
## All settings below this section are considered
## expert settings. Don't tamper with them unless

5.安裝elasticsearch-head(前端控制)

  下載:

  git clone git://github.com/mobz/elasticsearch-head.git

  elasticsearch-head 依賴nodejs,

修改:
elasticsearch-head/_site/app.js
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
將其中的"http://localhost:9200"; 改為"http://公網IP:9200";
這樣其他都可以訪問

 

 npm run start 啟動elasticsearch-head

   然後輸入:http://xxx.xxx.x.xx:9100/ 就可呈現