天天看点

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%