linux安装 Elasticsearch教程详解

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

 

docker安装Elasticesarch
***系统参数问题-ES消耗资源高,要修改一些默认的系统参数,不然无法满足
 

1、使用docker下载镜像

docker pull elasticsearch:5.6.8

2、安装es容器

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

说明:

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

      下面的ip为es所在的电脑ip

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

3、开启远程连接

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

需要修改es配置开启远程连接,代码如下:
    登录容器

docker exec -it elasticsearch /bin/bash

进入config目录

cd config

修改elasticsearch.yml文件
  

vi elasticsearch.yml

添加下面代码:

cluster.name: my-application

重启es

docker restart elasticsearch

4、系统参数

***重启es可能会启动失败,这与刚才修改的配置有关,因为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:ip

****注****以上代码命令中的“ip”为自己的ip,每个人的ip设置不一样,这里就不写具体的ip了

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

重启es容器

docker restart elasticsearch

【小提示】
    如果想让容器开启重启,可以执行下面命令
    docker update --restart=elways 容器名称或者容器id


    docker中的ES内存不足,无法运行,登录elasticsearch,修改配置文件/etc/elasticsearch/jvm.options文件中,修改内存配置

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值