福福不服 福福不服
深圳 --°
正在加载音乐 请稍候

Docker部署Elasticsearch+Kibana

方式1:编写docker-compose.yml

version: "3.7"
services:
  elasticsearch:
    image: "elasticsearch:7.10.1"
    container_name: elasticsearch_001
    ports:
      - "9200:9200"
      - "9300:9300"
    environment:
      node.name: es01
      discovery.type: single-node
      cluster.name: mycluster
      ES_JAVA_OPTS: -Xms512m -Xmx512m
    volumes:
      - "es01:/usr/share/elasticsearch/data"
    ulimits:
      memlock:
        soft: -1
        hard: -1
  kibana:
    image: kibana:7.10.1
    container_name: kibana_001
    depends_on:
      - elasticsearch
    ports:
      - "5601:5601"
      - "9600:9600"
    environment:
      SERVERNAME: kibana
      ELASTICSEARCH_HOSTS: http://elasticsearch:9200
      ES_JAVA_OPTS: -Xmx512m -Xms512m
volumes:
  es01: {}

方式2:直接docker运行

创建数据目录

mkdir /data/es/es01

这种方式需要给数据挂载目录权限,不然报错

chmod 777 /data/es/es01

启动elasticsearch

docker run -d --name elasticsearch_001 -p 9200:9200 -p 9300:9300 -v "/data/es/es01":/usr/share/elasticsearch/data -e "discovery.type=single-node" elasticsearch:7.10.1

启动kibana

docker run --name kibana_001 -p 5601:5601 -d --link elasticsearch_001:elasticsearch kibana:7.10.1

访问elasticsearch,9200端口

访问kibana,5601端口

kibana更改显示中文

默认英文,更改kibana显示语言
进入kibana容器

docker exec -it kibana_001 bash

修改配置文件kibana.yml

vi /opt/kibana/config/kibana.yml

追加一句配置

i18n.locale: "zh-CN"

重启kibana容器

docker restart kibana_001

访问kibana已经汉化

安装分词器

要和elasticsearch版本对应我这里是7.10.1,点击调整分词器插件下载

进入elasticsearch容器

docker exec -it elasticsearch_001 bash

plugins下创建个插件目录

mkdir plugins/ik

从宿主机将插件拷贝到插件目录里去

docker cp elasticsearch-analysis-ik-7.10.1.zip elasticsearch_001:/usr/share/elasticsearch/plugins/ik/

解压插件

unzip elasticsearch-analysis-ik-7.10.1.zip

删除插件压缩包

rm -rf elasticsearch-analysis-ik-7.10.1.zip

重启elasticsearch

docker restart elasticsearch_001

在kibana开发工具里面验证一下

POST  _analyze
{
  "analyzer": "ik_max_word",
  "text": "我是真滴帅"
}

设置登录密码

elasticsearch设置
进入容器,开启elasticsearch认证功能

docker exec -it elasticsearch_001 bash

修改配置文件

vi config/elasticsearch.yml

追加一行配置

xpack.security.enabled: true

保存重启elasticsearch

docker restart elasticsearch_001

设置elasticsearch密码,照样进入容器

docker exec -it elasticsearch_001 bash

进入bin目录

cd /usr/share/elasticsearch/bin

执行设置密码命令

 ./elasticsearch-setup-passwords interactive

重启elasticsearch

docker restart elasticsearch_001

kibana设置
进入kibana容器

docker exec -it kibana_001 bash

编辑配置文件

vi config/kibana.yml

追加账号密码配置,注意:账号kibana密码要和前面在elasticsearch里面设置的密码一致

elasticsearch.username: "kibana"
elasticsearch.password: "monster"

重启kibana

docker restart kibana_001

访问kibana,登录账户名需要用:elastic

可以在Stack Management / 用户下管理用户