天天看點

docker安裝es步驟

作者:it程式員

1.安裝docker

# 安裝
yum install -y docker
# 檢視版本資訊
docker version
# 修改docker的鏡像源
vim /etc/docker/daemon.json

{
    "registry-mirrors": ["https://ftnejmh3.mirror.aliyuncs.com"]
}

 # 啟動docker
systemctl start docker
# 停止docker
systemctl stop docker
# 檢視docker狀态
systemctl status docker
# 重新啟動docker
systemctl restart docker           

2.拉取鏡像

docker pull elasticsearch:7.12.1           

3.在主控端建立和容器内共享的目錄

# 存放配置檔案目錄
mkdir -p /docker/es/conf
# 存放資料目錄
mkdir -p /docker/es/data
# 存放日志目錄
mkdir -p /docker/es/logs
# 存放插件目錄
mkdir -p /docker/es/plugins
# 建立好目錄後為了防止下邊建立容器報錯,給主控端的這個es目錄賦個讀寫權限
chmod -R 777 /docker/es/           

4.建立es配置檔案

vi /docker/es/conf/elasticsearch.yml

cluster.name: my-application 
node.name: node-1 
path.data: /usr/share/elasticsearch/data 
path.logs: /usr/share/elasticsearch/logs
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]           

5.建構容器

docker run -p 9200:9200 -d --name es -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -v /docker/es/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/es/data:/usr/share/elasticsearch/data -v /docker/es/plugins:/usr/share/elasticsearch/plugins -v /docker/es/logs:/usr/share/elasticsearch/logs --privileged=true elasticsearch:7.12.1           

6.測試,在浏覽器中通路服務位址+9200的端口,可以顯示以下資訊證明安裝成功

{
  "name" : "node-1",
  "cluster_name" : "my-application",
  "cluster_uuid" : "b-ovHR-GRvunpTmWOfoLKw",
  "version" : {
    "number" : "7.12.1",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "3186837139b9c6b6d23c3200870651f10d3343b7",
    "build_date" : "2021-04-20T20:56:39.040728659Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}           

安裝es的可視化面闆 kibana

docker pull kibana:7.12.1           
mkdir -p /docker/kibana/conf           

vi /docker/kibana/conf/kibana.yml

server.name: kibana
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://你的es位址:9200"]   
xpack.monitoring.ui.container.elasticsearch.enabled: true           
docker run -p 5601:5601 -d --name kibana -v /docker/kibana/conf/kibana.yml:/usr/share/kibana/config/kibana.yml --privileged=true kibana:7.12.1           

通路測試:http://服務ip:5601

安裝es的ik分詞器

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.12.1           
mkdir /docker/es/plugins/ik
mv elasticsearch-analysis-ik-7.12.1.zip /docker/es/plugins/ik/
cd /docker/es/plugins/ik
unzip elasticsearch-analysis-ik-7.12.1.zip
rm -rf elasticsearch-analysis-ik-7.12.1.zip           
docker restart es           

安裝es的ik分詞器可能會導緻es記憶體溢出,可以在es配置中增加記憶體限制

indices.fielddata.cache.size: 50%