1. 程式人生 > 其它 >穀粒商城學習——P103ElasticSearch-Docker安裝ES

穀粒商城學習——P103ElasticSearch-Docker安裝ES

1,下載映象檔案

開啟虛擬機器,root使用者或sudo執行如下命令

  docker pull elasticsearch:7.4.2(相當於mysql,儲存和檢索資料)

  docker pull kibana:7.4.2(相當於navicat,視覺化檢索資料)

2,建立例項

同樣是root許可權賬戶或sudo。

mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" > /mydata/elasticsearch/config/elasticsearch.yml

前兩句為了以後掛載es的配置檔案用

echo這句是說寫了個配置http.host: 0.0.0.0,代表能被遠端的任何機器訪問,>>代表寫入到,elasticsearch.yml中(相當於es的配置檔案)

最後一個sudo也不好使,需要先切換到root

su root

密碼vagrant,再執行echo "http.host: 0.0.0.0" > /mydata/elasticsearch/config/elasticsearch.yml即可

然後再執行一大串命令

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e  "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \ -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -d elasticsearch:7.4.2

9200是傳送http請求es的埠,9300是es在分散式叢集狀態下節點之間的通訊埠,\是換行,

-e指定引數,single-node指定es單節點執行,ES_JAVA_OPTS指定es初始記憶體和最大記憶體,如果不指定會佔用全部記憶體導致整個虛擬機器卡死

-v掛載,,掛載的意思在前面的學習穀粒商城學習——docker安裝mysql中已有介紹

-d,後臺啟動es用es7.4.2映象

現在啟動有點問題,需要指定/mydata/elasticsearch下所有使用者可讀寫執行的許可權

然後重新啟動

啟動成功後這樣

{
  "name" : "3cafb1a4b1b3",//當前節點的名字
  "cluster_name" : "elasticsearch",//在叢集中的名字
  "cluster_uuid" : "0cNA2l38RFK6LMHislSvNg",//叢集中的唯一標識
  "version" : {
    "number" : "7.4.2",//es版本號
    "build_flavor" : "default",
    "build_type" : "docker",//構建方式為docker
    "build_hash" : "2f90bbf7b93631e52bafb59b3b049cb44ec25e96",
    "build_date" : "2019-10-28T20:40:44.881551Z",
    "build_snapshot" : false,
    "lucene_version" : "8.2.0",//底層使用的lucene的版本號
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}