<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                # ElasticSearch7.x單機版安裝 ## 1.前置準備 相關文檔: * 官網:[傳送門](https://www.elastic.co/) * 官網文檔:[傳送門](https://www.elastic.co/guide/index.html) * 中文手冊:[傳送門](https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html) * 中文社區:[傳送門](https://elasticsearch.cn/) * Jave-Client :[傳送門](https://www.elastic.co/guide/en/elasticsearch/client/java-rest/7.x/java-rest-high-create-index.html) ## 2.下載安裝包 官方下載地址:[傳送門](https://www.elastic.co/cn/downloads/elasticsearch) 歷史版本下載:[傳送門](https://www.elastic.co/cn/downloads/past-releases#elasticsearch) 本文以7.4.0為例:[7.4.0下載地址](https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-2-0) 命令下載 ~~~bash wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.0-linux-x86_64.tar.gz ~~~ ## 3.解壓 ~~~perl #解壓到自定義目錄tar -zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz -C /usr/local ~~~ ![](https://img.kancloud.cn/8e/c1/8ec1251a467c3da40140495605c77102_1108x544.png) 標題 Elasticsearch 7.x 目錄結構如下: * bin :腳本文件,包括 ES 啟動 & 安裝插件等等 * config : elasticsearch.yml(ES 配置文件)、jvm.options(JVM 配置文件)、日志配置文件等等 * JDK : 內置的 JDK,JAVA\_VERSION="13" * lib : 類庫 * logs : 日志文件 * modules : ES 所有模塊,包括 X-pack 等 * plugins : ES 已經安裝的插件。默認沒有插件 ## 4.創建數據存儲目錄與日志存儲目錄 ~~~bash # 創建數據存儲目錄mkdir -p /usr/local/elasticsearch-7.4.0/data# 創建日志存儲目錄mkdir -p /usr/local/elasticsearch-7.4.0/logs ~~~ ## 5.修改配置 進入到es安裝目錄下的config文件夾中,修改elasticsearch.yml 文件 ~~~bash #配置es的集群名稱,同一個集群中的多個節點使用相同的標識(單機版可不配置)#如果在同一網段下有多個集群,就可以用這個屬性來區分不同的集群。cluster.name: my-es #節點名稱node.name: node-1 #初始化,master節點名cluster.initial_master_nodes: node-1 #數據存儲路徑path.data: /usr/local/elasticsearch-7.4.0/data#日志存儲路徑path.logs: /usr/local/elasticsearch-7.4.0/logs #節點所綁定的IP地址,并且該節點會被通知到集群中的其他節點#通過指定相同網段的其他節點會加入該集群中 0.0.0.0任意IP都可以訪問elasticsearchnetwork.host: 0.0.0.0 #對外提供服務的http端口,默認為9200http.port: 9200#設置集群中master節點的初始列表,可以通過這些節點來自動發現新加入集群的節點discovery.seed_hosts: ["127.0.0.1:9200"] #ES默認開啟了內存地址鎖定,為了避免內存交換提高性能。但是Centos6不支持SecComp功能,啟動會報錯,所以需要將其設置為falsebootstrap.memory_lock: false # 是否支持跨域http.cors.enabled: true # *表示支持所有域名http.cors.allow-origin: "*" ~~~ 修改啟動內存(可選配置) 切換到 conf/ 打開 vim jvm.options ![](https://img.kancloud.cn/0e/48/0e487e86d00ca28b7d677beacde88b12_566x150.png) ## 6.啟動與關閉 ### 啟動 切換到 elasticsearch-7.4.0/bin/ 目錄下 ~~~bash # -d參數表示以后臺進程啟動,默認情況下會在控制臺輸出日志。./elasticsearch -d ~~~ 注:啟動時若出現報錯,請到文末處,查看常見啟動問題。 ### 關閉 ~~~perl # 查找ES進程ps -ef | grep elastic#殺掉ES進程kill -9 xxx(進程號) ~~~ 驗證是否啟動成功 除了查看進程外還可以在瀏覽器輸入 IP:9210 可以看到返回了一個JSON信息 ![](https://img.kancloud.cn/57/e6/57e60fad16914a757bf65aedb26d1762_854x580.png) 重點幾個關注下即可: name : 默認啟動的時候指定了 ES 實例名稱,name 為 BYSocketdeMacBook-Pro-2.local cluster\_name : 默認名為 elasticsearch version :版本信息 ## 7.設置開機自啟 ### 7.1.創建啟動腳本 在/etc/init.d目錄下新建elastisearch啟動腳本文件 ~~~csharp vim /etc/init.d/elasticsearch ~~~ 腳本加入如下內容 ~~~bash #!/bin/bash#chkconfig: 2345 80 90#description: elasticsearch#processname: elasticsearch-7.4.0 #服務名稱export SERVER_NAME=elasticsearch#ES啟動用戶名export ES_USER=elasticsearch#ES目錄export ES_HOME=/usr/local/elasticsearch-7.4.0 function help() { echo "$0 |start|stop|restart|status|"} #查看服務狀態function status(){ count=`ps -ef | grep "$SERVER_NAME" | grep -v "$0\|grep\|su $ES_USER" | awk '{print $2}' | wc -l` if [ 0 == $count ];then echo "$SERVER_NAME not exists" else ps -ef | grep "$SERVER_NAME" | grep -v "$0\|grep\|su $ES_USER" fi} #啟動服務function start(){ #檢查服務是否已經存在 count=`ps -ef | grep "$SERVER_NAME" | grep -v "$0\|grep\|su $ES_USER" | awk '{print $2}' | wc -l` if [ $count \> 0 ];then echo "$SERVER_NAME exists run restart" stop; fi; cd "$ES_HOME" echo "ES HOME IN $ES_HOME" echo "$SERVER_NAME start begin ........." su - $ES_USER -c "$ES_HOME/bin/elasticsearch -d" sleep 1 echo "$SERVER_NAME start end ......... home in $ES_HOME"} # 停止服務function stop(){ count=`ps -ef | grep "$SERVER_NAME" | grep -v "$0\|grep\|su $ES_USER" | awk '{print $2}' | wc -l` if [ 0 == $count ];then echo "$SERVER_NAME not exists" else echo "$SERVER_NAME stop begin ........." threads=$(ps -ef | grep "$SERVER_NAME" | grep -v "$0\|grep\|su $ES_USER" | awk '{print $2 }') for id in $threads do kill -9 $id echo "kill success $id " done echo "$SERVER_NAME stop success ........." fi} # 重啟服務function restart(){ stop; sleep 1; start;} if [ "$1" == "" ]; then helpelif [ "$1" == "stop" ];then stopelif [ "$1" == "start" ];then startelif [ "$1" == "restart" ];then restartelif [ "$1" == "status" ];then statuselse helpfi ~~~ ### 7.2.修改腳本權限 ~~~bash # 為腳本賦可執行權限chmod 777 /etc/init.d/elasticsearch ~~~ ### 7.3.啟動和關閉服務 ~~~javascript service elasticsearch status // 查看服務狀態service elasticsearch start // 啟動服務service elasticsearch stop // 關閉服務service elasticsearch restart // 重啟服務 ~~~ ### 7.4添加到啟動服務 ~~~csharp chkconfig --add elastisearch ~~~ ### 7.5服務啟動方式配置 ~~~csharp chkconfig --list //顯示服務列表 chkconfig elastisearch on // 設置開機啟動chkconfig elastisearch off // 關閉開機啟動 ~~~ ## 附錄: 常見問題 ### 1.啟動賬戶問題 注意:默認不允許使用root賬戶啟動。 ![](https://img.kancloud.cn/24/8b/248b03fb5c7a0d6b1faed87f3f44f01f_1776x530.png) **解決方案:** 創建用戶:elasticsearch ~~~undefined adduser elasticsearch ~~~ 設置用戶密碼,需要輸入兩次 ~~~undefined passwd elasticsearch ~~~ 將對應的文件夾權限賦給該用戶 ~~~perl chown -R elasticsearch /usr/local/elasticsearch-7.4.0 ~~~ 切換至elasticsearch用戶 ~~~undefined su elasticsearch ~~~ ~~~html 進入啟動目錄啟動 ~~~ ~~~bash cd /usr/local/elasticsearch-7.4.0/bin ./elasticsearch # 后臺啟動# ./elasticsearch -d ~~~ ### 2.內存與進程相關 2.1 max virtual memory areas vm.max\_map\_count \[65530\] likely too low, increase to at least \[262144\] ![](https://img.kancloud.cn/9e/10/9e10f22b55d72913a3222ce0f08df4cc_2160x430.png) **解決方案:**切換到root用戶修改配置sysctl.conf ~~~bash vi /etc/sysctl.conf ~~~ ~~~html 添加下面配置: ~~~ ~~~undefined vm.max_map_count=262144 ~~~ 保存退出,并執行命令: ~~~css sysctl -p ~~~ 然后,重新啟動elasticsearch 2.2 max file descriptors \[4096\] for elasticsearch process likely too low, increase to at least \[65536\] **解決方案:** ~~~html #切換到root 用戶修改 ~~~ ~~~bash vim /etc/security/limits.conf ~~~ ~~~r #在文件末尾添加如下內容:* soft nofile 65536* hard nofile 65536 ~~~ 2.3max number of threads \[1024\] for user \[lish\] likely too low, increase to at least \[2048\] 解決方案:切換到root用戶,進入limits.d目錄下修改配置文件。 ~~~groovy vi /etc/security/limits.d/90-nproc.conf ~~~ 修改如下內容: ~~~bash * soft nproc 1024 ~~~ #修改為 ~~~bash soft nproc 2048 ~~~ ### 3.JDK問題 ![](https://img.kancloud.cn/0e/55/0e5503dbd5e3f83357938fddbf2fdee6_2056x196.png) 關于JDK elasticsearch需要JDK環境,7.x版本后自帶JDK,可以使用以下命令查看版本 ~~~groovy /usr/local/elasticsearch-7.4.0/jdk/bin/java -version ~~~ 7.4.0自帶的JDK版本是 openjdk 13 ![](https://img.kancloud.cn/4b/be/4bbe77146615e80a99089a00a66da137_1178x186.png) 4.啟動后常見錯誤 ![](https://img.kancloud.cn/94/f0/94f0e82f8685ca5d681d3b78a5c4804e_1088x464.png) ![](https://img.kancloud.cn/94/f0/94f0e82f8685ca5d681d3b78a5c4804e_1088x464.png) 解決方案: 在每個配置文件指定初始節點: ~~~undefined cluster.initial_master_nodes: node-1 ~~~ ### 4.修改啟動內存 官網也介紹了如何[**設置堆大小**](https://www.elastic.co/guide/en/elasticsearch/reference/current/jvm-options.html)。 默認情況,ES 告訴 JVM 使用一個最小和最大都為 1GB 的堆。但是到了生產環境,這個配置就比較重要了,確保 ES 有足夠堆空間可用。 ES 使用`Xms(minimum heap size)`和`Xmx(maxmimum heap size)`設置堆大小。你應該將這兩個值設為同樣的大小。 **`Xms`和`Xmx`不能大于你物理機內存的 50%。** 設置的示例: 切換到 conf/ 打開 vim jvm.options ![](https://img.kancloud.cn/0e/48/0e487e86d00ca28b7d677beacde88b12_566x150.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看