当前位置:首页 > 嵌入式 > 嵌入式动态
[导读]ElasticSearch是实时的分布式且高度可扩展的数据搜索和分析引擎。它可以轻松地执行大量的研究,分析和数据挖掘功能。如果您充分利用ElasticSearch的水平可伸缩性,那么来自生产环境的数据将变得更有价值。实现ElasticSearch的原理主要分为以下几个阶段:首先,用户将数据发送到Elastic Search数据库,然后使用分词控制器对相应的句子进行分段,并将其权重和细分结果一起存储在数据中。当用户搜索数据时,将对结果进行分类和加权,然后将返回的结果呈现给用户。今天,小编主要说明如何在Linux系统上按下Elasticsearch搜索引擎。

ElasticSearch是实时的分布式且高度可扩展的数据搜索和分析引擎。它可以轻松地执行大量的研究,分析和数据挖掘功能。如果您充分利用ElasticSearch的水平可伸缩性,那么来自生产环境的数据将变得更有价值。实现ElasticSearch的原理主要分为以下几个阶段:首先,用户将数据发送到Elastic Search数据库,然后使用分词控制器对相应的句子进行分段,并将其权重和细分结果一起存储在数据中。当用户搜索数据时,将对结果进行分类和加权,然后将返回的结果呈现给用户。今天,小编主要说明如何在Linux系统上按下Elasticsearch搜索引擎。

第一步首先网上下载elasticsearch 6.4.0的安装包,在root 目录下创建文件夹elasticsearch下,然后解压elasticsearch 6.4.0安装包。

第二步安装jdk1.8以上版本,注意,最好把jdk和elasticsearch都放在同一个目录下面,不然后面切换用户启动asticsearch可能会遇到没有jdk环境变量的问题。此处步骤省略

第三步创建用户组(这是因为elasticsearch 6以上版本不支持root用户启动)。创建用户组groupadd esGroup , 创建用户useradd esUser -g esGroup -p 123456 (用户密码,此处密码可以省略),赋予用户权限chown -R esUser:esGroup /root/elasticsearch

第四步:切换到esUser用户并进入文件夹/root/elasticsearch/elasticsearch-6.4.0/bin, 输入命令./elasticsearch 即可启动成功。以上步骤只是实现了在服务器本地访问。接下来配置远程访问elasticsearch服务。

第五步:进入文件夹/root/elasticsearch/elasticsearch-6.4.0/config目录下,vi elasticsearch.yml 修改属性network.host: 172.18.25.150 (此处为服务器内网ip地址),并配置端口号http.port: 9200,保存文件即可。接下来我们使用命令./elasticsearch 启动,此时es并不能成功启动,出现以下错误

[2017-01-12T15:55:55,433][INFO ][o.e.b.BootstrapCheck ] [SfD5sIh] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks

ERROR: bootstrap checks failed

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决办法

1.vi /etc/security/limits.conf, 追加以下内容

* soft nofile 65536

* hard nofile 65536

* soft nproc 4096

* hard nproc 4096

2.vi /etc/security/limits.d/20-nproc.conf追加以下内容

esUser soft nproc 4096

3.vi /etc/sysctl.conf 追加以下内容

vm.max_map_count=655360

保存后,执行:

sysctl -p

再次切换到/root/elasticsearch/elasticsearch-6.4.0/bin目录下,输入./elasticsearch 即可启动成功。如还遇到错误如下

ava.lang.UnsupportedOperationException: seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER are needed

在elasticsearch.yml 添加

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

即可解决

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭