(1)docker镜像下载

docker pull elasticsearch:5.6.8

(2)安装es容器

docker run -di --name=changgou_elasticsearch -p 9200:9200 -p 9300:9300 elasticsearch:5.6.8

9200端口(Web管理平台端口) 9300(服务默认端口)

浏览器输入地址访问:http://192.168.211.132:9200/

(3)开启远程连接

上面完成安装后,es并不能正常使用,elasticsearch从5版本以后默认不开启远程连接,程序直接连接会报如下错误:

failed to load elasticsearch nodes : org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available: [{#transport#-1}{5ttLpMhkRjKLkvoY7ltUWg}{192.168.211.132}{192.168.211.132:9300}]

我们需要修改es配置开启远程连接,代码如下:

登录容器

docker exec -it changgou_elasticsearch /bin/bash

查看目录结构 输入: dir

root@07f22eb41bb5:/usr/share/elasticsearch# dir
NOTICE.txt README.textile bin config data lib logs modules plugins

进入config目录

cd config

查看文件

root@07f22eb41bb5:/usr/share/elasticsearch/config# ls
elasticsearch.yml log4j2.properties scripts

修改elasticsearch.yml文件

root@07f22eb41bb5:/usr/share/elasticsearch/config# vi elasticsearch.yml
bash: vi: command not found

vi命令无法识别,因为docker容器里面没有该命令,我们可以安装该编辑器。

安装vim编辑器

apt-get update
apt-get install vim

安装好了后,修改elasticsearch.yml配置,如下图:

vi elasticsearch.yml

修改如下图:

同时添加下面一行代码:

cluster.name: my-application

重启docker

docker restart changgou_elasticsearch

(4)系统参数配置

重启后发现重启启动失败了,这时什么原因呢?这与我们刚才修改的配置有关,因为elasticsearch在启动的时候会进行一些检查,比如最多打开的文件的个数以及虚拟内存区域数量等等,如果你放开了此配置,意味着需要打开更多的文件以及虚拟内存,所以我们还需要系统调优

修改vi /etc/security/limits.conf ,追加内容 (nofile是单个进程允许打开的最大文件个数 soft nofile 是软限制 hard nofile是硬限制 )

* soft nofile 65536
* hard nofile 65536

修改vi /etc/sysctl.conf,追加内容 (限制一个进程可以拥有的VMA(虚拟内存区域)的数量 )

vm.max_map_count=655360

执行下面命令 修改内核参数马上生效

sysctl -p

重新启动虚拟机,再次启动容器,发现已经可以启动并远程访问

reboot

(5)跨域配置

修改elasticsearch/config下的配置文件:elasticsearch.yml,增加以下三句命令,并重启:

http.cors.enabled: true
http.cors.allow-origin: "*"
network.host: 192.168.211.132

其中: http.cors.enabled: true:此步为允许elasticsearch跨域访问,默认是false。 http.cors.allow-origin: "":表示跨域访问允许的域名地址(表示任意)。

重启

 docker restart changgou_elasticsearch

小提示:如果想让容器开启重启,可以执行下面命令

docker update --restart=always 容器名称或者容器id

2. IK分词器安装

(1)安装ik分词器

IK分词器下载地址https://github.com/medcl/elasticsearch-analysis-ik/releases

将ik分词器上传到服务器上,然后解压,并改名字为ik

unzip elasticsearch-analysis-ik-5.6.8.zip
mv elasticsearch ik

将ik目录拷贝到docker容器的plugins目录下

docker cp ./ik changgou_elasticsearch:/usr/share/elasticsearch/plugins

(2)IK分词器测试

访问:http://192.168.211.132:9200/_analyze?analyzer=ik_smart&pretty=true&text=我是程序员

访问:http://192.168.211.132:9200/_analyze?analyzer=ik_max_word&pretty=true&text=我是程序员

 
 

最新文章

  1. shell编程之正则表达式
  2. Linux常用命令及shell脚本
  3. Aspen 安装
  4. 烂泥:【解决】VMware Workstation中安装ESXI5.0双网卡问题
  5. 持续集成基础-Jenkins(二)-搭建Jenkins环境和配置第一个Job
  6. jquery实践案例--验证手机号码
  7. Linux中变量#,@,0,1,2,*,$$,$?的含义
  8. Mysql创建和删除用户
  9. A Linear Time Majority Vote Algorithm
  10. IPFS的竞争对手们(一)
  11. AT89S52最小系统
  12. RabbitMQ是如何运转的?
  13. 微信小程序【获取验证码】倒计时效果
  14. Mysql5.7 单表 500万数据迁移到新表的快速实现方案
  15. [PDOException] PDO::__construct(): php_network_getaddresses: getaddrinfo failed:
  16. EBS採购模块中的高速接收和高速接收事务
  17. [2017BUAA软工助教]个人项目准备工作
  18. oracle的读写分离实现
  19. pandas的qcut()方法
  20. Vscode中运行js文件或部分代码 ,在下面cmd输出中显示结果

热门文章

  1. Codeforces Global Round 7 A. Bad Ugly Numbers(数学)
  2. P3355 骑士共存问题 (最小割)
  3. Git 初始化及仓库创建及操作
  4. BKDR字符串哈希
  5. 鸟哥的linux私房菜——第十六章学习(程序管理与 SELinux 初探)
  6. 智能社讲解js基础
  7. 左神算法第五节课:认识哈希函数和哈希表,设计RandomPool结构,布隆过滤器,一致性哈希,岛问题,并查集结构
  8. 错误记录:MQJE001: 完成代码为 '2',原因为 '2035'。
  9. java变量、数据类型、运算符
  10. es6 curry function