centos6中安装新版 Elasticsearch 7.x

es出新版了,虽然公司里还是用的老版本,但是本地还是有必要自己安装了玩玩

下载地址:https://www.elastic.co/cn/downloads/elasticsearch

那么一般来说还是建议安装到linux里,当然选择在win和mac也ok,我们这里以linux安装为主

下载完毕以后上传到linux中:

安装es之前,务必安装jdk1.8以上,官方说到openjdk也可以,但是没试过,大家可以自行尝试,以下就是官方的依赖说明,怎么安装jdk的,不多说了。。应该都会

解压es的tar包:

随后进入解压后es的目录,如下:

依次说一下目录结构吧:

bin:可执行文件在里面,运行es的命令就在这个里面

config:配置文件目录

lib:依赖的jar

logs:日志

modules:模块

plugins:可以自己开发的插件

data,这个目录,没有,自己新建一下:mkdir data,这个作为索引目录

随后进入conf目录,使用vim 修改 elasticearch.yml

修改集群名称,默认是elasticsearch,虽然目前是单机,但是也会有默认的

为当前的es节点取个名称,名称随意,如果在集群环境中,都要有相应的名字

这是修改数据和日志的存储目录

设置绑定的ip,和redis一个道理,设置为0.0.0.0以后就可以让任何计算机节点访问到你了

设置在集群中的所有节点名称,这个节点名称就是之前所修改的,当然你也可以采用默认的也行,目前是单机,放入一个节点即可

修改完毕后,保存退出vim,随后就准备启动es了,进入到bin目录,运行es:./elasticsearch

java.lang.RuntimeException: can not run elasticsearch as root

很明显,提示说我们无法使用root用户来运行es,这是es的设计,为了安全

那么这个时候就需要创建一个新用户,并且为这个用户添加es目录的操作权限了

切换用户以后,再次运行 ./elasticserch

此时又报错,来看一下:

java.lang.UnsupportedOperationException: seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER

其实从异常可以看出是不支持的操作系统,主要是 seccomp,那么重新进入 conf 下去配置 elasticsearch.yml

增加下面这一行配置,用于禁用seccomp

回到bin目录再次启动es,又发现如下3个错误:

ERROR: [3] bootstrap checks failed[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535][2]: max number of threads [1024] for user [lee] is too low, increase to at least [4096][3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

那么依次去修改,不过得重新切换到root用户, su root

修改如下文件

添加如下:

* soft nofile 65536* hard nofile 131072* soft nproc 2048* hard nproc 4096

vim /etc/security/limits.d/90-nproc.conf 修改此文件

改为4096

改完以后重新切换到非root用户lee下,运行es

这个时候发现已经成功启动了,如下是es的相关信息:

那么现在是前台启动方式,我们需要改为后台启动方式来运行es,这样会更好

能看懂吧?不多说了哈

原文发布于微信公众号 - BeJavaGod(wxleechenxiang)

原文发表时间:2019-05-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券