linux安装ES7.3.1过程及问题

2019-10-09  本文已影响0人  曜_CRY

第一部分:过程

第一步:安装JDK,elasticsearch运行是依赖jdk环境的,这个自行了解安装

第二步:

2.1 下载elasticsearch,可以自行去官网下载,我使用的是7.3.1版本,链接:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.1-linux-x86_64.tar.gz

2.2  解压安装包命令 tar -zxvf elasticsearch-7.3.1-linux-x86_64.tar.gz

2.3 创建ES用户和组(创建elsearch用户组及elsearch用户),因为使用root用户执行ES程序,将会出现错误;所以这里需要创建单独的用户去执行ES 文件;命令如下:

命令一:groupadd elsearch

命令二:useradd elsearch -g elsearch

命令三:chown -R elsearch:elsearch elasticsearch-7.3.1  该命令是更改该文件夹下所属的用户组的权限

2.4 修改ES配置文件,使用cd命令进入到config 文件下,执行 vi elasticsearch.yml 命令,如图所示,本人没有配置集群,只是简单的配置了一下,详细说明可以参考官网

2.4 vim elasticsearch-7.3.1/config/jvm.options  修改jvm内存(这有个上限32G,默认是1G,建议是总内存的一半,由于我这个服务器本身内存较小就随便设置一个先启动再说)

2.5 su elsearch 切换到es用户,到bin目录下启动 ./elasticsearch,./elasticsearch -d可以切换为后台启动,启动后在浏览器通过ip:9200可以看到以下结果

第二部分:问题

问题一:

Exception in thread "main" java.lang.RuntimeException: starting java failed with [137]

output:

error:

at org.elasticsearch.tools.launchers.JvmErgonomics.flagsFinal(JvmErgonomics.java:111)

at org.elasticsearch.tools.launchers.JvmErgonomics.finalJvmOptions(JvmErgonomics.java:79)

at org.elasticsearch.tools.launchers.JvmErgonomics.choose(JvmErgonomics.java:57)

at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:89)

由于服务器内存不足,elasticsearc的jvm默认内存是1G,可以通过修改elasticsearch的config/jvm.options,上面安装过程有写到,请留意看

问题二:

memory locking requested for elasticsearch process but memory is not locked

原因:锁定内存失败

解决方案:

切换到root用户,编辑limits.conf配置文件, 添加类似如下内容:

sudo vim /etc/security/limits.conf

添加如下内容:

* soft memlock unlimited

* hard memlock unlimited

备注:* 代表Linux所有用户名称

保存、退出、重新登录才可生效

临时取消限制

ulimit -l unlimited

问题三

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

原因:最大虚拟内存太小

解决方案:切换到root用户下,修改配置文件sysctl.conf

sudo vim /etc/sysctl.conf

添加下面配置:

vm.max_map_count=655360

并执行命令:

sysctl -p

问题四:

the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

到es的config目录下,修改elasticsearch.yml的配置

#cluster.initial_master_nodes: ["node-1", "node-2"]

cluster.initial_master_nodes: ["node-1"] 这个的话,这里的node-1是上面一个默认的记得打开就可以了

上一篇下一篇

猜你喜欢

热点阅读