安装目标使用docker安装elastic search和kibana,版本均为7.17.1
安装es
1. docker pull去dockerhub看具体版本,这里用7.17.1 docker pull elasticsearch:7.17.1docker pull kibana:7.17.1
2. 临时安装生成文件 docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" elasticsearch:7.17.1 参数说明 - -d 后台启动
- –name 起别名即:NAMES
- -p 9200:9200 将端口映射出来
- elasticsearch的9200端口是供外部访问使用;9300端口是供内部访问使用集群间通讯
- -e "discovery.type=single-node"单节点启动
- -e ES_JAVA_OPTS="-Xms256m -Xmx256m" 限制内存大小
确保成功启动
3. 设置外部数据卷执行 mkdir -p /data/elasticsearch/{config,data,logs,plugins}yml 将容器内文件拷贝出来 docker cp elasticsearch:/usr/share/elasticsearch/config /data/elasticsearchdocker cp elasticsearch:/usr/share/elasticsearch/logs /data/elasticsearchdocker cp elasticsearch:/usr/share/elasticsearch/data /data/elasticsearchdocker cp elasticsearch:/usr/share/elasticsearch/plugins /data/elasticsearch 设置elasticsearch.yml的内容 vi /data/elasticsearch/config/elasticsearch.yml 确保有以下几个配置,原有的配置可以不改动 cluster.name: "docker-cluster"network.hosts:0.0.0.0# 跨域http.cors.allow-origin: "*"http.cors.enabled: truehttp.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
4. 停止并删除临时容器docker stop elasticsearchdocker rm elasticsearch
5. 重新起容器并挂载外部文件夹docker run -d --name elasticsearch /-p 9200:9200 /-p 9300:9300 /-e "discovery.type=single-node" /-e ES_JAVA_OPTS="-Xms256m -Xmx256m" /-v /data/elasticsearch/logs:/usr/share/elasticsearch/logs /-v /data/elasticsearch/data:/usr/share/elasticsearch/data /-v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins /-v /data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml /elasticsearch:7.17.1 等docker容器起来一分钟左右,再访问9200 端口,会返回 因为安装的是V7版本的,默认没开启x-pack(v8默认开启),所以能直接访问 [root@iZuf6ai62xce7wexx4wwi9Z config]# curl "http://localhost:9200"{ "name" : "6a1036c69d59", "cluster_name" : "docker-cluster", "cluster_uuid" : "0zgLiGhESGKQYTYy9gH4iA", "version" : { "number" : "7.17.1", "build_flavor" : "default", "build_type" : "docker", "build_hash" : "e5acb99f822233d62d6444ce45a4543dc1c8059a", "build_date" : "2022-02-23T22:20:54.153567231Z", "build_snapshot" : false, "lucene_version" : "8.11.1", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search"}[root@iZuf6ai62xce7wexx4wwi9Z config]#
安装kibana
1. 运行临时容器docker run -d --name kibana -p 5601:5601 kibana:7.17.1
2. 创建本地挂载文件mkdir -p /data/kibana/configdocker cp kibana:/usr/share/kibana/config /data/kibana/ 在本地就能看到拷贝出来的kibana.yml文件, vim /data/kibana/config/kibana.yml 修改配置为 ## ** THIS IS AN AUTO-GENERATED FILE **## Default Kibana configuration for docker targetserver.host: "0"server.shutdownTimeout: "5s"elasticsearch.hosts: [ "http://localhost:9100" ] # 记得修改ipmonitoring.ui.container.elasticsearch.enabled: truei18n.locale: "zh-CN"
3. 停掉临时容器并重新启动停掉旧的 docker stop kibanadocker rm kibana 重新启动挂载了地址的新的容器 docker run -d --name kibana -p 5601:5601 -v /data/kibana/config:/usr/share/kibana/config kibana:7.17.1
4. 进入elasticsearch容器获取token#访问kibana发现需要token 进入es容器获取token docker exec -it {elastic_search_container_id} /bin/bashbin/elasticsearch-create-enrollment-token --scope kibana 拷贝token到kibana的ui上输入
5. 进入kibana容器获取验证码#进入kibana容器获取token |