1 docker安装ES
docker安装es单机版部署
1.1 方法一
首先来到docker hub搜索eselasticsearch
可以看到es的版本信息。
那么可以现在服务器上把es镜像pull下来。
命令
docker pull elasticsearch:7.10.1
pull下来之后嘛你就run它嘛
1.2 方法二
直接通过已知版本号进行下载
docker run -d --name="elasticsearch" -p 9200:9200 -p 9300 -p 9300 -p 5601:5601 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms1024m -Xmx1024m" elasticsearch:7.10.1
-d 后台运行
–name 设置容器名字
-p端口设置
-e属性设置
比如discovery.type设置为单节点模式
ES_JAVA_OPTS 参考jvm配置,设置的是es能够使用的最大最小内存,假如不加限制,那么es这个东西会很占内存,达到1G+,如果你的服务器ram只有2G,那么服务器可能会出现卡死(别问我怎么知道的)
这个时候es就应该启动成功了,可以验证一下游览器输入: ip:9200
启动成功
2 安装Kibana
接下来就要安装kibana了。
先尝试了这种方式:
docker run -it -e ELASTICSEARCH_URL=http:127.0.0.1:9200 --name="kibana" --network=container:elasticsearch kibana:7.10.1
然而通过ip:端口访问的时候会有kibana server is not ready yet。
查看日志
说明没有和es连接上。需要修改配置文件地址
第二种方式直接链接到容器上
docker run -it --name="kibana" -p 5602:5601 --link elasticsearch:elasticsearch kibana:7.10.1
设置成功之后,在浏览器使用 ip:5602访问,得到了正常显示的界面。
3 注意
过程中需要注意的,es和kibana 的版本需要一致,否则跑不起来嘛
可能出现的错误:
一:空间不足
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
修改过程
编辑 /etc/security/limits.conf,追加以下内容;
soft nofile 65536
hard nofile 65536
此文件修改后需要重新登录用户,才会生效
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
编辑 /etc/sysctl.conf,追加以下内容:
vm.max_map_count=655360
保存后,执行:
sysctl -p
重新启动,成功。
4 docker安装ik分词器
这个要和es版本对应,我es是7.10.1 所有下的也是同版本号
下载地址:
https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.10.1
下载后转移到服务器上
通过docker cp 复制到容器内 /usr/share/elasticsearch/plugins 就是这个位置,别乱放
解压
unzip 命令
删除安装包,并将接下文件夹名字改为ik
mv 命令如图
重启 es 就好了