1.安装elasticsearch&kibana
这里以7.7.1为准,需要注意的是,这两个下载必须指定版本号,不能使用latest,并且两个版本必须一致。
docker pull elasticsearch:7.7.1
docker pull kibana:7.7.1
2.运行elasticsearch&kibana
启动es,其中 -e "discovery.type=single-node" 这个配置建议加上,否则会出现启动es的时候可能会报 Native controller process has stopped - no new native processes can be started的异常。
docker run -d --name es7 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx512m" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.1
启动kibana,其中的--link es7要和上面的es容器名称保持一致。
docker run -d --name k7 --link es7 -p 5601:5601 kibana:7.7.1
3.配置kibana的请求es服务地址
输入docker exec -it es7 /bin/bash 指令,进入es容器,输入 vi /etc/hosts查询es容器的ip
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 73baae6c5ea6
可以看到我的es容器的ip的172.17.0.2,复制它。
4.(非必要)下载ik分词器
如果需要用ik分词器,在es根目录下,进入bin目录,执行下面的指令,使用./elasticsearch-plugin install下载ik分词器,ik分词器的版本也必须和es的版本一致。
cd /bin
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.1/elasticsearch-analysis-ik-7.7.1.zip
5.修改kibana访问的es地址
输入docker exec -it k7 /bin/bash 指令,进入kibana,按照下面的修改完成,然后重启kibana,kibana就可以正常连接到es了。
#进入config目录
cd config
#修改kibana.yml文件
vi kibana.yml
#将es的ip输入进去,保存退出,重启kibana
#
# ** THIS IS AN AUTO-GENERATED FILE **
#
# Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://172.17.0.2:9200" ]
monitoring.ui.container.elasticsearch.enabled: true