IT兄弟連 JavaWeb教程 ElasticSearch在Linux下的安裝和啓動、常見問題解決

環境要求java

·      Linux(Centos 7)linux

·      ElasticSerach 6.6.1瀏覽器

ES下載elasticsearch

·      下載地址:https://www.elastic.co/cn/downloads/elasticsearchtcp

 b3bcd6d8aa304c7bb6266bcf4dbc4351.jpg

ES安裝工具

·        進入Linux系統,切換到 /opt 目錄下:加密

852364e9edb342709c6036a8489b9230.jpg

·         在opt目錄下,建立elasticsearch文件夾,並進入文件夾內:日誌

4975733693a64125b82a0629093514e6.jpg

·         獲取elasticearch安裝包:code

97f9e34eb49e476387b570ff71b9a2f5.jpg

o    方法1:可使用在線下載命令,下載安裝包:進程

下載命令:   wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.1.tar.gz

方法2:能夠將以前已經下載好的安裝包上傳到當前目錄下:

使用WinSCP工具,將下載到本地的安裝包,上傳到linux目錄下

·         解壓elasticsearch安裝包

 tar -zvxf    elasticsearch-6.6.1.tar.gz

 

·         進入elasticsearch-6.6.1/config文件夾內,修改配置文件:

 

cd   elasticsearch-6.6.1/config/

   

定位到#network.host: 192.168.0.1位置,在下面增長一行:     network.host: 0.0.0.0

90f18bf9fd40434b8366a4e34b4fb775.jpg

保存並退出(先按esc鍵,輸入:wq!,按回車鍵便可)

啓動

·         啓動elasticsearch爲後臺進程服務:

切換到bin目錄下,執行以下命令:

7c4039b526b34f7a82f1084bc350e04e.jpg

啓動命令:./elasticsearch -d

f8f35cfaf354415fb0307e20af23a34c.jpg

問題1:could not find java; set JAVA_HOME or ensure java is in PATH

解決方案:須要系統搭建Java環境

搭建完畢以後,再次執行命令:./elasticsearch -d

4f284df6532c46a2be2b8e98fb152d5a.jpg

·         判斷是否啓動成功,可執行以下命令,查看是否啓用9200端口便可

ss -tanl

451aaf335ed84f90aceeda0c370276b3.jpg

發現沒有啓用9200,則表明es啓動失敗,須要查看具體緣由:

接下來,則須要查看啓動日誌,切換到日誌logs目錄下

執行以下命令便可: more elasticsearch.log

4433858fb90247308f298944deab6456.jpg

經過日誌分析所得,啓動es服務的時候,是不容許使用超級管理員root帳戶 那麼接下來,咱們須要建立一個普通用戶likang

使用普通用戶(likang)啓動es服務便可,以下命令: 第一步:liunx建立新用戶  adduser likang   

而後給建立的用戶加密碼 passwd likang    輸入兩次密碼.

c5e9b224360f49478002be291c48d5bc.jpg

第二步:給新建的XXX賦權限,chown -R likang /opt/elasticsearch/

29440601898e4020a50ac2634bff6fa9.jpg

第三步:切換到likang普通用戶下,執行啓動命令

3f9b2ca546cf4edbaaa0d5c81e53e853.jpg

·         再次驗證es是否啓動成功,發現仍是失敗,再次查看日誌,分析如圖:

37110d6891314adcb5c093240a0c0d66.jpg

問題:max file descriptors [4096] for elasticsearch process is too low,

increase to at least [65536] 緣由:每一個進程最大同時打開文件數過小 查看當前系統同時打開進程數的默認值:     ulimit -Hn     ulimit -Sn

285a2688e0824f8fb92bb76f52599671.jpg

解決方案:切換到root帳戶,修改/etc/security/limits.conf文件,

增長配置,用戶退出後從新登陸生效 su root 輸入密碼 vi /etc/security/limits.conf 在文件最後,增長以下配置: likang    hard     nofile     65536 likang    soft     nofile     65536 *         soft     nproc      4096 *         hard     nproc      4096

b91f8c929c8848029efb5a95a6f559e7.jpg

·         再次啓動驗證,發現還有問題,以下:

5c2ced281e524f488061a679781d80aa.jpg

問題:max virtual memory areas vm.max_map_count [65530] is too low,

increase to at least [262144] 緣由:elasticsearch用戶擁有的內存權限過小,至少須要262144 解決:切換到root用戶,在/etc/sysctl.conf文件最後添加一行     vm.max_map_count=655360     添加完畢以後,執行命令:         sysctl -p

b9efe03ec54d4ebd8c015a4d0de982cc.jpg

·         再次切換到likang普通用戶,從新啓動es服務。

2bb3c6e968794f7aa448a99d3e6a726a.jpg

遠程訪問

·         開啓9200端口號訪問

/sbin/iptables -I INPUT -p   tcp --dport 9200 -j ACCEPT 

69386dc644174ed2afee6014cb0f7371.jpg

·         可在瀏覽器中輸入以下地址:http://192.168.73.131:9200/

6ad6ba3ad84742ccb544b30c17beb0d3.jpg

·         若是顯示如上信息,則表明Linux下ES已經搭建完畢(單機)

中止

·         如果es的前臺運行,則用ctrl + c 來中止。

·         如果es的後臺運行,則用kill -9 進程號 來中止。(可經過jps命令,查看es進程號)

相關文章
相關標籤/搜索