亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

Elasticsearch(簡稱ES) 是一個分布式、高擴展、高實時的搜索與數據分析引擎,它也是一個“存儲庫”。

它能很方便地使大量數據具有搜索、分析和探索的能力。充分利用 ES 的水平伸縮性,能使數據在生產環境變得更有價值。

本文踏出使用ES的第一步-環境部署,這里把可能遇到的問題整理了一下,詳見文章內容。

安裝Elasticsearch 7.10

# 為Elasticsearch添加用戶
useradd elastic
# 設置密碼
passwd elastic

cd /home/elastic

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-darwin-x86_64.tar.gz

tar -zxvf elasticsearch-7.10.2-darwin-x86_64.tar.gz

cd elasticsearch-7.10.2/

這個home/elastic/elasticsearch-7.10.2目錄就是ES的家目錄,后面用$ES_HOME代替。

可以使用$ES_HOME/bin/elasticsearch直接啟動了,但是會有一些問題,下面來總結一下。

 

centos 7環境下啟動ES7遇到的問題

root用戶下啟動ES報錯

如果沒有配置ES環境變量,需要進入到$ES_HOME的bin目錄下,執行elastisearch命令啟動,每次這樣啟動感覺有點繁瑣,我們來配置一下環境變量:

vi /etc/profile

# 添加
export ES_HOME=/home/elastic/elasticsearch-7.10.2
export PATH=$PATH:$JAVA_HOME/bin:$ES_HOME/bin

# 使之生效
source /etc/profile

然后在任何地方都可以直接敲elasticsearch命令來啟動ES了。

but,你會收到這樣的錯誤:

[2021-05-19T23:13:27,102][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [elk-standalone] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

提示很明顯了,就是不讓用root用戶啟動ES,這個解決方法簡單,切換到普通用戶再啟動就行了。

前面安裝步驟中我已經提前機智的添加好elastic用戶了,現在派上用場了。

切換到elastic用戶,再直接用elasticsearch命令就不行了,因為還沒有為這個elastic用戶配置環境變量呢,現在來配置:

vi ~/.bash_profile

# 同樣加上ES的家目錄
export ES_HOME=/home/elastic/elasticsearch-7.10.2
export PATH=$PATH:$ES_HOME/bin

# 使之生效
source ~/.bash_profile

這樣就可以和root用戶一樣爽了!

啟動成功:

Elasticsearch部署的這些問題,你遇到過嗎?

 

使用jps看一下:

Elasticsearch部署的這些問題,你遇到過嗎?

 

客戶端連接問題

成功啟動以后,我們用postman連一下試試,地址:http://192.168.242.120:9200

Elasticsearch部署的這些問題,你遇到過嗎?

 

連接不上!

這個時候根據經驗就要去看一下配置文件了,ES的配置文件在$ES_HOME/config目錄下,瞅瞅:

Elasticsearch部署的這些問題,你遇到過嗎?

 

打開elasticsearch.yml,修改其中的配置項:

# 將network.host修改為0.0.0.0,使客戶端能連接
network.host: 0.0.0.0

重新啟動之,應該就行了吧?

啟動報錯

按Ctrl-C直接關掉ES,

前面說的啟動都是在前臺啟動ES,實際中我們不可能前臺啟動程序,一般都是后臺啟動,這里為了方便看日志和演示才前臺啟動。

后臺啟動時,直接在 elasticsearch -d就好了,停服務的時候,先找到ES的PID,然后kill掉。

重新輸入elasticsearch啟動,這次竟然報錯了!

報錯詳細信息:

bound or publishing to a non-loopback address, enforcing bootstrap checks
ERROR: [4] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max number of threads [3795] for user [elastic] 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]
[4]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
ERROR: Elasticsearch did not exit normally - check the logs at /home/elastic/elasticsearch-7.10.2/logs/elasticsearch.log

有四項錯誤:

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

[2]: max number of threads [3795] for user [elastic] is too low, increase to at least [4096]

這兩項的意思就是elasticsearch進程的最大文件描述符[4096]太低,至少增加到[65535];用戶elastic的最大線程數[3795]太低,至少增加到[4096]。

那么我們就來按照它的指示增加一下:

# 在root用戶下操作
vim /etc/security/limits.conf
# 修改最大進程數和最大線程數
# 在文件末尾添加
elastic hard nofile 65536
elastic soft nofile 65536
elastic hard nproc 4096
elastic soft nproc 4096

其中elastic為運行ES程序的用戶。

再來看下一個問題:

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

這個提示是要讓我們改一下vm.max_map_count,這個參數在/etc/sysctl.conf這個文件里添加:

# 在root用戶下操作
vi /etc/sysctl.conf

# 在文件末尾添加
vm.max_map_count = 655360

# 保存退出
# 使之生效
sysctl -p
Elasticsearch部署的這些問題,你遇到過嗎?

 

第四個問題:

[4]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

意思是默認的配置不適合生產使用,必須至少配置discovery.seed_hosts、discovery.seed_providers、cluster.initial_master_nodes中的一個,這就需要我們再改下config/elasticsearch.yml文件了:

# config/elasticsearch.yml文件,修改如下的參數下如:
node.name: node-1
cluster.initial_master_nodes: ["node-1"]

OK,保存,再次用elastic用戶重啟,見證奇跡:

Elasticsearch部署的這些問題,你遇到過嗎?

 


Elasticsearch部署的這些問題,你遇到過嗎?

 

啟動成功!

再用postman驗證一下:

Elasticsearch部署的這些問題,你遇到過嗎?

 

完美解決!

 

最后

Elasticsearch,

“You Know, for Search”

文章首發公眾號:行百里er,歡迎大家關注。代碼倉庫:
https://github.com/xblzer/JavaJourney

分享到:
標簽:Elasticsearch
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定