一、下载镜像文件
docker pull elasticsearch:7.4.2 (存储检索数据)
docker pull kibana:7.4.2 (可视化工具)
PS:这里需要注意的是,可视化工具要和elasticsearch的版本一致
下载完成后用docker images命令查看一下镜像在不在
二、安装ElasticSearch
2.1》在linux下创建目录和配置文件的目录(用来被docker挂载)
**
mkdir -p /mydata/elasticsearch/data
mkdir -p /mydata/elasticsearch/config
查看一下,已经有了目录
2.2》给ElasticSearch写入配置文件
echo "http.host:0.0.0.0">>/mydata/elasticsearch/config/elasticsearch.yml
http.host:0.0.0.0:任意远程的服务器都可以访问
2.3》启动docker容器
2.3.1》 运行并映射端口。
docker run --name elasticsearch -p 9200:9200 -p 9300:9300
9200:这个端口是HTTP请求的端口
9300:是ES在分布式集群下的通信端口
2.3.2》 运行模式
-e “discovery.type=single-node”
这条命令的意思是:当前以单节点方式运行
2.3.2》 分配运行内存
如果不指定,只要ES运行就会把虚拟机内存占满。
-e ES_JAVA_OPTS=“Xms64m -Xmx128m”
最小内存64M,最大内存128 M。
2.3.3》 把docker里的ES挂载到Linux下
这么做的目的就是便于维护,不需要进入docker里修改。
-v /mydata.elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins
-d elasticsearch:7.4.2 (以刚下载的镜像运行)
整合一下:
docker run --name elasticsearch -p 9200:9200 -p 9300:9300
-e “discovery.type=single-node”
-e ES_JAVA_OPTS="-Xms64m -Xmx128m"
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins
-d elasticsearch:7.4.2
输入docker ps查看当前已经启动的容器。OK,ES已经在docker中运行了
用浏览器访问,提示拒绝访问
打印ES的日志
原来是在Linux环境下,我用的是root用户,可以进行读写。但是换作浏览器就会没有权限被拒绝,所以我们在elasicsearch目录下用递归把所有的用户访问都变成可以读写的用户,还有配置文件有错误
运行命令:chmod -R 777 /mydata/elasticsearch/
这里有个坑。在前面写了一个elasticsearch.yml配置文件,里面的要空格。要不要会报错,一定要空格,空格,空格!
再次访问,看到这个页面就成功了
三、安装Kibana可视化工具
3.1》运行命令
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.0.100:9200 -p 5601:5601
-d kibana:7.4.2
http的地址一定要为ElasticSearch的地址
端口为:5601
运行之后就可以直接访问Kibana,kibana帮我们访问ElasticSearch
Kibana已经在docker中启动了 就可以访问了
四、初步检索
1、_cat
GET/_cat/nodes 查看所有节点
GET/_cat/health 查看ES健康状况
GET/_cat/master 查看主节点
GET/_cat/indlces 查看所有索引