前言
写一下 ElasticSearch 的基本教程。
实现
ElasticSearch搭建
下载镜像
# 下载ElasticSearch镜像
docker pull elasticsearch:7.14.0
创建容器并启动
# 创建并启动ElasticSearch容器
docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" --name es_langjialing elasticsearch:7.14.0
-d
后台启动容器。-p 9200:9200
将端口映射出来。ElasticSearch 的9200端口是供外部访问使,9300端口是供内部访问使用集群间通讯。-e "discovery.type=single-node"
单节点启动。-e ES_JAVA_OPTS="-Xms256m -Xmx256m"
限制容器内存大小。ElasticSearch 服务占用内存是比较大的,最好限制下内存,否则很可能把资源吃满。-–name
给容器起一个别名。
访问9200端口
访问 9200 端口显示 ElasticSearch 信息,ElasticSearch 服务启动成功!
kibana搭建
下载镜像
# 下载kibana镜像
docker pull kibana:7.14.0
注:
- kibana 的版本和 ElasticSearch 的版本最好保持一致,避免因版本导致兼容问题。这里我们使用的都是
7.14.0
版本。
创建容器并启动
# 创建kibana容器并启动
docker run -d -p 5601:5601 --name kibana_langjialing kibana:7.14.0
访问5601端口
初次访问 5601
端口时提示如下信息:
配置ES服务的IP
这是因为需要“告诉” kibana 去连接哪台 ElasticSearch 服务器,因此需要在 kibana 配置文件中配置下 ElasticSearch 的 IP 信息。
1. 查看 ElasticSearch 容器的 IP:
# 查看ElasticSearch容器ID
docker ps
# 查看ElasticSearch容器IP
docker inspect container_id
2. 在 kibana 容器内的配置文件中配置 IP:
# 查看kibana容器ID
docker ps
# 进入kibana容器内部
docker exec -it c02 bash
3. 重启 kibana 服务:
# 重启kibana容器
docker restart c02
4. 再次访问 5601
端口,成功进入 kibana:
设置密码
注:
- 密码不设置也是可以使用的,在生产环境下通常会设置密码。
设置ElasticSearch密码
1. 进入容器内部:
# 进入ES容器内部
docker exec -it 925 bash
2. 在 config 目录下找到 elasticsearch.yml
文件,并添加如下配置:
# 开启xpack
xpack.security.enabled: true
3. 重启 ElasticSearch 容器:
# 重启ES容器
docker restart 925
4. 再次进入 ElasticSearch 容器,并配置密码:
# 进入ES容器内部
docker exec -it 925 bash
在容器内部设置密码:
# 执行ES生成密码的命令,重置ES各账号的密码
./bin/elasticsearch-setup-passwords interactive
5. 访问 9200 端口,需要验证登录,输出账号后成功登录:
设置kibana密码
1. 进入容器内部:
# 进入kibana容器内部
docker exec -it c02 bash
2. 在 config 目录下找到 kibana.yml
文件,并添加如下配置:
# 设置ES的用户名和密码
elasticsearch.username: elastic
elasticsearch.password: "123456"
3. 重启 kibana 容器:
# 重启kibana容器
docker restart c02
4. 访问 5601
端口,验证登录,输入账号密码后正常访问:
至此,我们已完成 ElasticSearch 和 kibana 环境的基本搭建。
总结
ElasticSearch 和 kibana 的环境搭建。