版本:

  cenos7 :3.10.0-957.21.3.el7.x86_64  (内核需>=3.10 才可以安装)

  docker: yum安装版本为1.13.1

  elasticsearch: 6.8.5

安装:

  网上的安装步骤很多,主要参考这篇文章 https://juejin.im/post/5ca0d12c518825550b35be6d,大致说一下不同点

  1. 此文是内网环境,需外网访问参看下文异常处理3、4
  2. 注意应用docker logs containerid  命令查看docker日志,分析错误原因
  3. 安装es-head:
  • docker pull mobz/elasticsearch-head:5
  • docker run -d -p 9100:9100 docker.io/mobz/elasticsearch-head:5
  • ps:注意提前开9100端口
  • oh shit,没想到这个官方镜像是有bug的,由于es6.0+修改了检测contenttype的机制,而es-head5没有手动设置content-type,造成所有查询都报406.  目前es-head5已经修复了这个bug,但是官方docker镜像没有同步修复。建议不要安装docker版本https://github.com/mobz/elasticsearch-head/issues/361

  4.zipkin设置存储方式为es时,查看docker日志有报错,启动命令为:

  

docker run -d  -p 9411:9411 \
-e "STORAGE_TYPE=elasticsearch" \
-e "ES_HOSTS=http://x.x.x.x:9200" \
-e "ES_INDEX=zipkin" \
-e "ES_INDEX_SHARDS=1" \
-e "ES_INDEX_REPLICAS=1" \
openzipkin/zipkin

  发现只要加上STORAGE_TYPE=elasticsearch,就在zipkin中无数据,去掉就可以正常写入数据

  改为zipkin-slim后正常写入zipkin和es (上面命令最后一行改为openzipkin/zipkin-slim)

  ps:zipkin-slim只能连接es,不能连接mysql

启动

  

es启动:
docker run -e xpack.security.enabled=true -e xpack.security.transport.ssl.enabled=true -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 -v /dockerdata/es/config/master.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /dockerdata/es/master:/usr/share/elasticsearch/data --name es-master elasticsearch:6.8.5 ps:master.yml
cluster.name: elasticsearch-cluster
node.name: master
network.bind_host: 0.0.0.0
network.publish_host: x.x.x.x
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["x.x.x.x:9300","x.x.x.x:9301"]
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type 最后一行为添加xpack后运行head插件访问使用,访问时http://x.x.x.x:9100/?auth_user=elastic&auth_password=123456 head启动:
定位到head目录后 nohup npm run start &
            disown (不加disown的话,node进程会在shell断开后结束)
没有使用docker版本的原因是官方docker镜像没有同步git主版本,所以存在一个bug:所有接口调用都报406错误,原因是es新版更新了请求机制,需要指定content-type zipkin启动:
docker run -d -p 9411:9411 \
-e "STORAGE_TYPE=elasticsearch" \
-e "ES_HOSTS=http://x.x.x.x:9200" \
-e "ES_INDEX=zipkin" \
-e "ES_INDEX_SHARDS=1" \
-e "ES_INDEX_REPLICAS=1" \
-e "ES_USERNAME=elastic" \
-e "ES_PASSWORD=123456" \
openzipkin/zipkin-slim kibana启动:
//docker run --link es-master:elasticsearch -p 5601:5601 --name kibana -d kibana:6.8.5
docker run -l es-master:elasticsearch -p 5601:5601 -v /dockerdata/es/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml -d kibana:6.8.5 ps:kibana.yml server.name: kibana
server.host: "0"
elasticsearch.url: http://x.x.x.x:9200
xpack.monitoring.ui.container.elasticsearch.enabled: true
elasticsearch.username: "kibana"
elasticsearch.password: "123456" 修改xpack默认用户名密码:
docker exec -it 'containerid' bash
进入 /usr/share/elasticsearch/bin 输入 elasticsearch-setup-passwords interactive
然后依次修改所有账户密码

异常处理:

  1. 启动容器时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen   解决:重启docker后再启动容器
  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=262144  (大于等于此数字)
  3. 无法外网访问:修改config/master.yml/slave.yml 中的network.host: 0.0.0.0 (我有两个节点,所以修改两个配置文件;如果非docker环境,直接修改elasticsearch.yml)
  4. 外网依然访问不了,可能是防火墙没有开放端口,防火墙和端口相关命令参看 https://blog.csdn.net/u011846257/article/details/54707864

ps: es工具https://github.com/elastic/curator

centos7+docker+elasticsearch 安装记录+踩坑的更多相关文章

  1. 【centOS7】Jenkins安装--漫漫踩坑路

    安装步骤: https://www.cnblogs.com/h--d/p/5673085.html 安装后遇到的问题及解决办法: jenkins的admin用户的初始密码路径 https://blog ...

  2. CentOS7.4安装MySQL踩坑记录

    CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...

  3. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三) 安装PHP 1.yum方式安装PHP方法同安装apache一样传送门:linux cent ...

  4. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(一) 一.Linux下安装MySQL 1.下载 下载地址:http://dev.mysql.co ...

  5. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二) 安装apache web容器 . yum方式安装apache 注意apache在linux ...

  6. sqlserver安装和踩坑经历

    sqlserver安装和踩坑经历 下载 下载 安装 大致是按照这个来的 安装教程 出错 windows系统安装软件弹出"Windows installer service could not ...

  7. Centos7下搭建gitbook环境踩坑记录

    1.安装npm yum -y install npm 2.配置npm仓 npm config set registry https://mirrors.tencent.com/npm/ 3.安装git ...

  8. 虚拟机安装mysql踩坑记录

    本章节主要讲解的是在虚拟机centOs7版本以上安装mysql5.6版本,亲测可以直接使用,有需要帮助的小伙伴可以加本人QQ2246451792@qq.com!!!! 卸载centOs7自带的mari ...

  9. MySQL 5.7版本安装教程-踩坑总结

    下载 MySQL下载地址 选择下载64位(看自己电脑是32位还是64位) 点击下载之后,它会让你登录,没有Oracle账户,跟着它的步骤注册一个就好了. 安装 打开下载好的压缩包解压到你的某一目录下, ...

随机推荐

  1. hdu 5742 It's All In The Mind(2016多校第二场)

    It's All In The Mind Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Oth ...

  2. ccf-201403-3有趣的命令行

    傻逼题,要是考试只能得0分.. 提供几组傻逼数据,这要是在真实的生活中一定是错的... 还是要好好读题吧,全凭自己的感觉就得0分 albw:x 4 ls -a docu Case 1: -a ls - ...

  3. Google Colab——用谷歌免费GPU跑你的深度学习代码

    Google Colab简介 Google Colaboratory是谷歌开放的一款研究工具,主要用于机器学习的开发和研究.这款工具现在可以免费使用,但是不是永久免费暂时还不确定.Google Col ...

  4. js面向对象(对象/类/工厂模式/构造函数/公有和原型)

    https://www.cnblogs.com/sandraryan/ 什么是对象 js中一切都是对象(有行为和特征).js允许自定义对象,也提供了内建对象(string date math等) 对象 ...

  5. Python--day49--ORM框架SQLAlchemy之relationship的使用(有时间要从新看,这里状态不好,没有仔细听)

    小贴士:   迭代器:只有在循环的时候才一个一个往外拿 relationship

  6. servicemix 实例 -- 参考open source ESBs in action这本书

    1. 项目结构 2. bean服务处理单元 1)Person类 package esb.chapter3; import java.io.StringWriter; import javax.xml. ...

  7. git 安装及基本配置

    git 基本上来说是开发者必备工具了,在服务器里没有 git 实在不太能说得过去.何况,没有 git 的话,面向github编程 从何说起,如同一个程序员断了左膀右臂. 你对流程熟悉后,只需要一分钟便 ...

  8. JavaScript 判断对象中是否有某属性的常用方法

    一.点(.)或方框号([ ]) var obj = { test: '123' } obj.test obj['test'] 二.in 运算符 var obj = { test: '123' } te ...

  9. 2018-10-23-使用-Pandoc-把-Markdown-转-Docx

    title author date CreateTime categories 使用 Pandoc 把 Markdown 转 Docx lindexi 2018-10-23 10:56:18 +080 ...

  10. dotnet 判断程序当前使用管理员运行降低权使用普通权限运行

    有一些程序是不想通过管理员权限运行的,因为在很多文件的读写,如果用了管理员权限程序写入的程序,其他普通权限的程序是无法直接访问的.本文告诉大家如何判断当前的程序是通过管理员权限运行,然后通过资源管理器 ...