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
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 / 用户下管理用户
评论区