Linux系统成功构建了Elasticsearch 6.4.0
扫描二维码
随时随地手机看文章
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
即可解决