Docker笔记四:Elasticsearch实例部署
- 在运行或启动elasticsearch容器前,先在宿主机上执行 sysctl -w vm.max_map_count=262144:
- 解决“ max virtual memory areas vm.maxmapcount [65530] is too low ”错误问题。
- 解决容器中/etc/sysctl.conf不可写,sysctl -w vm.max_map_count=262144无效问题。
- 本人也尝试过在docker run 时使用--sysctl vm.max_map_count=262144选项,但提示not whitelisted。
- 关于JAVA的安装,本机采用default-jre 。参考 How To Install Java with Apt-Get on Debian 8,不要求设置环境变量CLASSPATH:
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
也不要求设置环境变量PATH:
export PATH=$JAVA_HOME/bin:$PATH
只需要设置环境变量JAVA_HOME:红色字体部分根据具体版本进行替换
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
- 聚合:参考ElasticsearchDSL / Aggregation
安装Elasticsearch
1. 编写Dockerfile:
FROM ubuntu MAINTAINER cenze <272666745@qq.com> RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ADD conf/sources.list /etc/apt/ RUN apt-get update \ && apt-get install -y apt-utils vim unzip default-jre ENV ESEARCH /usr/local/elasticsearch-6.0.1 ADD packages/elasticsearch-6.0.1.zip /usr/local/ RUN unzip /usr/local/elasticsearch-6.0.1 -d /usr/local \ && adduser --disabled-login --disabled-password --no-create-home es ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64 ENV PATH $ESEARCH/bin:$PATH ADD conf/elasticsearch.yml /usr/local/elasticsearch-6.0.1/config/ RUN chown -R es:es /usr/local/elasticsearch-6.0.1 EXPOSE 9200 9300 CMD ["elasticsearch"]
2. build镜像:
sudo docker build -t cenze/esearch -f Dockerfile-ESearch .
3. 以非root用户run容器,否则elasticsearch无法启动:
: -p : --name esearch --user es cenze/esearch
4. curl http://localhost:9200:
{ "name" : "D_5lS8A", "cluster_name" : "elasticsearch", "cluster_uuid" : "wS2pUZ95TC2jCRJ5GMvNsA", "version" : { "number" : "6.0.1", "build_hash" : "601be4a", "build_date" : "2017-12-04T09:29:09.525Z", "build_snapshot" : false, "lucene_version" : "7.0.1", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
安装中文分词插件ik
也可以是smartcn。ik的版本要与Elasticsearch版本匹配,本人用的6.0.1:
es@053b32506e8d:/$ elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.0.1/elasticsearch-analysis-ik-6.0.1.zip es@053b32506e8d:/$ elasticsearch-plugin list analysis-ik
测试中文关键词搜索
下列操作参考 https://github.com/medcl/elasticsearch-analysis-ik/
1. 创建索引:curl -X PUT http://localhost:9200/test/group。
2. mapping:
curl -XPOST -H'content-type: application/json' http://localhost:9200/index/fulltext/_mapping -d' { "properties": { "content": { "type": "text", "analyzer": "ik_max_word", "search_analyzer": "ik_max_word" } } }'
3. 索引多个文档:
curl -XPOST -H'content-type: application/json' http://localhost:9200/index/fulltext/1 -d' {"content":"美国留给伊拉克的是个烂摊子吗"} ' curl -XPOST -H'content-type: application/json' http://localhost:9200/index/fulltext/2 -d' {"content":"公安部:各地校车将享最高路权"} ' curl -XPOST -H'content-type: application/json' http://localhost:9200/index/fulltext/3 -d' {"content":"中韩渔警冲突调查:韩警平均每天扣1艘中国渔船"} ' curl -XPOST -H'content-type: application/json' http://localhost:9200/index/fulltext/4 -d' {"content":"中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首"} '
4. 搜索测试:
curl -XPOST -H'content-type: application/json' http://localhost:9200/index/fulltext/_search -d' { "query" : { "match" : { "content" : "中国" }}, "highlight" : { "pre_tags" : ["<tag1>", "<tag2>"], "post_tags" : ["</tag1>", "</tag2>"], "fields" : { "content" : {} } } } '
Docker笔记四:Elasticsearch实例部署的更多相关文章
- AspNetCore容器化(Docker)部署(四) —— Jenkins自动化部署
一.前言 (Jenkins.Docker.Git/Svn组建一套简单的自动化发布流程) 文章中用到的相关服务器角色 角色 环境 功能 开发机 Win10.Docker(Linux OS) 编码.调试 ...
- Docker笔记(四):Docker镜像管理
原文地址:http://blog.jboost.cn/2019/07/16/docker-4.html 在Docker中,应用是通过容器来运行的,而容器的运行是基于镜像的,类似面向对象设计中类与对象的 ...
- (四) Docker 使用Let's Encrypt 部署 HTTPS
参考并感谢 周花卷 https://www.jianshu.com/p/5afc6bbeb28c 下载letsencrypt镜像(不带tag标签则表示下载latest版本) docker pull q ...
- 官网实例详解-目录和实例简介-keras学习笔记四
官网实例详解-目录和实例简介-keras学习笔记四 2018-06-11 10:36:18 wyx100 阅读数 4193更多 分类专栏: 人工智能 python 深度学习 keras 版权声明: ...
- ensorflow学习笔记四:mnist实例--用简单的神经网络来训练和测试
http://www.cnblogs.com/denny402/p/5852983.html ensorflow学习笔记四:mnist实例--用简单的神经网络来训练和测试 刚开始学习tf时,我们从 ...
- 深入浅出Docker(四):Docker的集成测试部署之道
1. 背景 敏捷开发已经流行了很长时间,如今有越来越多的企业开始践行敏捷开发所提倡的以人为中心.迭代.循序渐进的开发理念.在这样的场景下引入Docker技术,首要目的就是使用Docker提供的虚拟化方 ...
- docker swarm overlay stack 服务部署记录
项目xxx(后端),xxx-ui前端(前后端分离的项目) 依赖mysql,elasticsearch.分别制作了四个镜像来做这件事.希望可以制作跨主机的部署,使用了swarm,以下是学习记录. 参考 ...
- Docker 笔记学习
文章目录 概述 CentOS7 Docker 安装 启动 Docker 后台服务 镜像加速 Docker常用命令 如何创建一个镜像 存储和载入镜像 上传镜像 容器的基本操作 创建容器 终止容器 如何进 ...
- Docker笔记--镜像&基于GO项目创建Docker镜像
Docker笔记--镜像&基于GO项目创建Docker镜像 核心概念 Doker镜像--包含一个基本的操作系统运行环境和应用程序,镜像是创建Docker容器的基础. Docker容器--如果把 ...
随机推荐
- 正常启动HBase顺序
先启动hadoop集群start-all.sh 在master节点会启动SecondaryNameNode,NameNode,ResourceManager 在slave节点会启动NodeManage ...
- undefined 与void 0
参考:https://segmentfault.com/a/1190000000474941 Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值.void 操作符用法 ...
- MS-SQL 错误: The offset specified in a OFFSET clause may not be negative
Example 1 : (Fetch clause must be greater than zero) USE AdventureWorks2012 GO SELECT * FROM [HumanR ...
- 【5】namenode启动过程
1.格式化空间(第一次启动的操作): 命令:bin/hadoop -format //用于格式化HDFS,如果不是首次格式化,需要删除下面配置的tmp目录后再进行core-site.xml的配置: / ...
- word中表格第一列序号的设置
表格中序号问题 1.新建一个表格.第一列选择编号后,编号后有tab,如下图 2.选中表格的编号,点击新建列表样式, 3.将编号后的字符改成nothing,在将单元格改成居中即可 4.在将单元格改成居中 ...
- [转载] Jupiter代码审查工具使用参考
转载自http://blog.csdn.net/jemlee2002/article/details/5715355 一. Jupiter 是什么? 这里的 Jupiter 是一个开源的代 ...
- matlab R2016a 中添加新的工具箱的方法
matlab添加新的工具箱分三步: 1. 下载新的工具箱,并解压. 2. 将解压后的工具箱文件夹移到安装的matlab中的toolbox文件夹中 3. 添加新文件夹及其子文件夹到路径中. 接下来以添加 ...
- JavaScript学习笔记(八)——变量的作用域与解构赋值
在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...
- AES加密实现
起因 这段时间因为要对接一个外部接口,其参数的加密方式为AES,就需要学下AES的加密写法,但网上的资料不是很全,自己记录下遇到的坑: 基本写法 String str = "hello&qu ...
- KingView 6.53漏洞学习研究
类别:堆溢出 描述:此漏洞存在于KingView6.53软件的HistorySvr.exe进程中,这个软件服务程序在TCP 777端口监听时收到一个超长请求,导致堆缓冲区溢出从而执行任何代码. 参考资 ...