ElastiSearch安装
docker安装es
docker pull elasticsearch:7.6.2
启动es
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.6.2
修改配置 解决跨域访问问题
docker exec -it elasticsearch /bin/bash
cd /usr/share/elasticsearch/config
vi elasticsearch.yml
在文件最后添加
http.cors.enabled: true
http.cors.allow-origin: "*"
重启访问:
http://虚拟机ip:9200
配置ik分词
进入es容器
docker exec -it 容器id /bin/bash
cd /usr/share/elasticsearch/plugins
在该位置 新建文件夹 “ik” 并进入ik文件夹下载安装ik分词器
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip
如果wget提示wget: command not found:
yum install wget
再解压缩 unzip该文件
安装Kibana
docker pull kibana:7.6.2
运行ik容器
docker run -d -e ELASTICSEARCH_URL=http://Ip地址:9200 -p 5601:5601 --name kibana kibana:7.6.2
这里的ip地址并不是虚拟机的IP地址,而是es容器的ip地址
查看容器Ip地址:
docker inspect 容器Ip |grep IPAddress
访问:
http://虚拟机ip地址:5601/
在用java连接时需要注意的事项:
http连接时需要被连接服务器开启9200这个端口,而用java连接时需要开启9300端口。
如果出现以下报错:
NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{kTom0Va-SsGs_U5KO9KdBg}]
]
极有可能是因为你java端配置的cluster-name和容器内部的elasticsearch.yml中配置的cluster-name不一致导致的。