首页 > 技术文章 > Elasticsearch--ES-Head--docker版安装

djq-jone 2020-07-21 16:02 原文

1.0ElasticSearch安装

# 拉取ES镜像
docker pull elasticsearch:6.5.0 # 设置vm.max_map_count大小
sysctl -w vm.max_map_count=262144
# 启动容器
docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:6.5.0

1.1启动容器是的坑

报错信息如下
  max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

临时解决办法(重启虚拟机会失效):
1.切换到root用户,执行命令:
  sysctl -w vm.max_map_count=262144
2.查看结果:
  sysctl -a|grep vm.max_map_count

3.显示:
  vm.max_map_count = 262144

永久解决办法
  在/etc/sysctl.conf文件最后添加一行:vm.max_map_count=262144
  重启虚拟机

1.2ES容器中配置文件

# 自动生成的集群名称
cluster.name: "docker-cluster" network.host: 0.0.0.0
# 设置访问端口 transport.tcp.port:
9300 http.port: 9200
# 解决跨域请求 http.cors.enabled:
true http.cors.allow-origin: "*" # minimum_master_nodes need to be explicitly set when bound on a public IP # set to 1 to allow single node clusters # Details: https://github.com/elastic/elasticsearch/pull/17288 discovery.zen.minimum_master_nodes: 1

2.0安装ES-Head

#拉取镜像
docker pull mobz/elasticsearch-head:5 #启动容器 docker run -d -p 9100:9100 mobz/elasticsearch-head:5

# 访问9100 端口

2.1 ES-Head访问 406

1. 页面数据查询报406错误
{"error":"Content-Type header [application/x-www-form-urlencoded] is not supported","status":406}
2. 解决方法:
# 进入docker es-head容器
# 命令 docker exec -it 容器ID /bin/bash
[root@localhost ~]# docker exec -it es-head /bin/bash
进入head安装目录;
cd进入_site/目录,编辑vendor.js 共有两处

# 如果提示找不到vim方法,请参考下面的 [附: Docker容器vim安装]
[root@localhost ~]# vim _site/vendor.js
6886行: /contentType: “application/x-www-form-urlencoded改成
contentType: "application/json;charset=UTF-8"

7573行: var inspectData = s.contentType === “application/x-www-form-urlencoded” && 改成 var inspectData = s.contentType === "application/json;charset=UTF-8" &&
3. 附: Docker容器vim安装 # 更新源 [root@localhost ~]# apt-get update # 先更新,防止提示:Unable to locate package vim [root@localhost ~]# apt-get install vim

 

 

推荐阅读