概要
在工作过程中,经常需要测试环境搭建es环境,本文基于es v8.12.2来演示如何快速搭建单节点es和kibana。
服务器默认已按装docker
一、es
1:拉取镜像
docker pull elasticsearch:8.12.2
2:准备环境
mkdir -p /home/docker/es #创建挂载目录 mkdir -p /home/docker/es/logs chmod 777 /home/docker/es/logs #授权 mkdir -p /home/docker/es/data chmod 777 /home/docker/es/data #授权 docker run -d --name es_temp -p 9200:9200 -p 9300:9300 elasticsearch:8.12.2 #起一个临时容器 docker cp es_temp:/usr/share/elasticsearch/config /home/docker/es/ #复制es配置文件 docker rm es_temp #删除临时容器
3:修改配置文件vim /home/docker/es/config/elasticsearch.yml配置文件默认是集群配置,而我们测试环境只需单节点,所以要调整如下:
cluster.name: "docker-single" network.host: 0.0.0.0 #----------------------- begin security auto configuration ----------------------- # # the following settings, tls certificates, and keys have been automatically # generated to configure elasticsearch security features on 20-03-2024 19:23:28 # # -------------------------------------------------------------------------------- # enable security features xpack.security.enabled: false #关闭认证 xpack.security.enrollment.enabled: true # enable encryption for http api client connections, such as kibana, logstash, and agents xpack.security.http.ssl: enabled: true keystore.path: certs/http.p12 # enable encryption and mutual authentication between cluster nodes xpack.security.transport.ssl: enabled: true verification_mode: certificate keystore.path: certs/transport.p12 truststore.path: certs/transport.p12 # create a new ciluster with the current node only discovery.type: single-node #单节点模式 # additional nodes can still join the cluster later #cluster.initial_master_nodes: ["986f0573b289"] #----------------------- end security auto configuration -------------------------
4:启动容器
docker run --privileged -d --name es -e es_java_opts="-xms512m -xmx512m" -v /home/docker/es/config:/usr/share/elasticsearch/config -v /home/docker/es/data:/usr/share/elasticsearch/data -v /home/docker/es/logs:/usr/share/elasticsearch/logs -p 9200:9200 -p 9300:9300 elasticsearch:8.12.2
5:检测
curl -x get http://127.0.0.1:9200/_cluster/health?pretty
{
"cluster_name" : "docker-single",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 1,
"number_of_data_nodes" : 1,
"active_primary_shards" : 0,
"active_shards" : 0,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
}
二、kibana
与es兼容的kibana版本,按需拉取镜像即可。
1:拉取镜像
docker pull kibana:8.12.2
2:启动容器
kibana就不挂载了,其配置文件/usr/share/kibana/config/kibana.yml,也可以挂载出来做一些配置。
docker run -d --name kibana -p 5601:5601 \ -e elasticsearch_hosts=http://200.200.107.192:9200 \ #es url -e elasticsearch_username=root \ #es 账号,es不开启认证可不设置 -e elasticsearch_password=123456 \ #es 密码 ,es不开启认证可不设置 -e i18n_locale=zh-cn \ #汉化 kibana:8.12.2
3:检测
浏览器访问宿主机ip:5601,即可验证,成功如下:

三、dcoker compose管理
我们可以用docker compose管理es和kibana。
mkdir -p /etc/docker vim /etc/docker/docker-compose.yml
内容如下:
# yaml 配置
version: '3'
services:
es:
image: "elasticsearch:8.12.2"
privileged: true
ports:
- "9200:9200"
- "9300:9300"
volumes:
- "/home/docker/es/config:/usr/share/elasticsearch/config"
- "/home/docker/es/data:/usr/share/elasticsearch/data"
- "/home/docker/es/logs:/usr/share/elasticsearch/logs"
environment:
- es_java_opts=-xms512m -xmx512m
- tz=asia/shanghai
container_name: "es"
kibana_srv:
image: "kibana:8.12.2"
ports:
- "5601:5601"
environment:
- elasticsearch_hosts=http://200.200.107.192:9200
- elasticsearch_username=root
- elasticsearch_password=123456
- i18n_locale=zh-cn
container_name: "kibana"
docker compose -f /etc/docker/docker-compose.yml up es docker compose -f /etc/docker/docker-compose.yml stop es docker compose -f /etc/docker/docker-compose.yml up kibana_srv docker compose -f /etc/docker/docker-compose.yml stop kibana_srv
四、参考
2]:kibana 的安装
到此这篇关于docker快速安装es和kibana的文章就介绍到这了,更多相关docker快速安装es和kibana内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论