(1)docker镜像下载
docker pull elasticsearch:7.7.0
(2)安装es容器
因为elasticsearch在启动的时候会进行一些检查,比如最多打开的文件的个数以及虚拟内存区域数量等等,所以我们需要先进行系统调优,需要在虚拟机下设置max_map_count
,否则elasticsearch容器会启动不起来 查看max_map_count
的值 默认是65530
cat /proc/sys/vm/max_map_count
重新设置max_map_count
的值
sysctl -w vm.max_map_count=262144
然后执行运行容器命令,如下
docker run -id --name xxx(容器名) -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" elasticsearch:7.7.0
命令解释:
9200端口(Web管理平台端口) 9300(服务默认端口)
-e ES_JAVA_OPTS="-Xms512m -Xmx512m"
是设置占用内存大小,一般线上检索服务器-ES服务器32G,这里就小一点测试
-e "discovery.type=single-node"
这个是设置单节点运行
(3)开启远程连接及跨域配置
将elasticsearch容器内部的/usr/share/elasticsearch/config/elasticsearch.yml配置文件拷贝到虚拟机(宿主机)的root目录下,编辑增加以下命令。
cluster.name: my-application
http.cors.enabled: true
http.cors.allow-origin: "*"
network.host: 0.0.0.0
其中:
cluster.name:自定义集群名称。 network.host:当前es节点绑定的ip地址,默认127.0.0.1,如果需要开放对外访问这个属性必须设置。http.cors.enabled: true:此步为允许elasticsearch跨域访问,默认是false。 http.cors.allow-origin: "":表示跨域访问允许的域名地址(表示任意)。
删除之前的es容器,并重新执行运行容器命令
docker stop xxx(容器名)
docker rm xxx(容器名)
docker run -id --name xxx(容器名) -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -v /root/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.7.0
二、IK分词器安装
K分词器下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.7.0
上传分词器压缩文件到linux服务器,拷贝文件到ES容器
docker cp /root/elasticsearch-analysis-ik-7.7.0.zip dym_es:/usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-7.7.0.zip
进入容器安装ik分词器
docker exec -it dym_es /bin/bash
cd /usr/share/elasticsearch/plugins/
在plugins目录下安装ik分词器,ik分词器需要和es版本一致
使用上传的插件压缩包安装:
mkdir ik (创建文件夹)
mv elasticsearch-analysis-ik-7.7.0.zip ik/
cd ik
unzip elasticsearch-analysis-ik-7.7.0.zip
退出容器并重启
docker restart xxx(elasticsearch容器名)
测试安装成功,地址栏输入:
http://192.168.188.128(linux地址):9200/_cat/plugins
三.1 Kibana下载安装
docker pull kibana:7.7.0
安装kibana容器
docker run -id --link dym_es:elasticsearch --name kibana --restart=always -p 5601:5601 kibana:7.7.0
restart=always:每次服务都会重启,也就是开启启动
5601:5601:端口号
--link参数的解释:https://www.jianshu.com/p/21d66ca6115e
访问测试
访问http://192.168.188.128:5601