前言
写一下 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 的环境搭建。