一、启动的时候出现的问题


1. 不能通过 root 启动Elasticsearch

don't run elasticsearch as root

第一步:liunx创建新用户

adduser  elasearch

然后给创建的用户写密码 password XXX 输入两次密码。

第二步:给新建的 elasearch 用户 授权限,要用 root 用户授权限。

chown -R XXX /你的elasticsearch安装目录。  
( chown -R elasearch /opt/elasticsearch

第三步:切换刚才创建的用户 然后执行 elasticsearch 。

su elasearch
cd /opt/elasticsearch/bin
./elasticsearch


2. 需要正确对应依赖的 JDK 版本

我的一开始的开发环境的JDK是1.8,在启动 Elasticsearch7.2.0 的时候,启动日志会有如下信息:

future versions of Elasticsearch will require Java 11; your Java version from [/opt/jdk1.8.0_211/jre] does not meet this requirement

这是由于Elasticsearch依赖于JDK ,es 和 JDK 有着对应的依赖关系

听他人的博客说 Elasticsearch 该版本(7.2) 内置了JDK,而内置的JDK是当前推荐的JDK版本。

当然如果你本地配置了JAVA_HOME那么ES就是优先使用配置的JDK启动ES。(言外之意,你不安装JDK一样可以启动,他试了可以的。)

ES推荐使用LTS版本的JDK(这里只是推荐,JDK8就不支持),如果你使用了一些不支持的JDK版本,ES会拒绝启动。


对于 JDK 版本的一个大概说明

官网上有JDK 6、7、8、9、10
对应的版本就是JDK1.6、1.7、1.8、1.9、1.10
所以是JDK10版本更高
不过目前使用最多的是1.8



二、启动成功后出现的问题

1. 无法通过外网 IP 进行访问 IP:9200

启动后,
通过

curl localhost:9200 

查看本地是否可以访问到

如果本地可以访问到,且外网访问不到,可继续往下看



修改 /config/elasticsearch.yml 文件

把 network.host 这句话放开,改为

network.host: 0.0.0.0

2. 改了 elasticsearch.yml 后发现 ;Elasticsearch 启动不了了

Elasticsearch 启动过程中报错【1】

ERROR: [1] bootstrap checks failed [1]: the default discovery settings are
unsuitable for production use; at least one of [discovery.seed_hosts, d
iscovery.seed_providers, cluster.initial_master_nodes] must be configured

[2019-06-03T07:05:44,761][INFO ][o.e.n.Node ] [hz] stopping ...
[2019-06-03T07:05:44,788][INFO ][o.e.n.Node ] [hz] stopped
[2019-06-03T07:05:44,788][INFO ][o.e.n.Node ] [hz] closing ...
[2019-06-03T07:05:44,801][INFO ][o.e.n.Node ] [hz] closed
[2019-06-03T07:05:44,804][INFO ][o.e.x.m.p.NativeController] [hz] Native
controller process has stopped - no ne w native processes can be started
解决办法

修改 config/elasticsearch.yml

放开 node.name: node-1 注释,可更改名称 node.name: node-1

放开 cluster.initial_master_nodes: ["node-1"] #这里的node-1为node-name配置的值






三、最终效果


lankeren
44 声望6 粉丝

有效果,达到目标的努力是真努力,其余不能称之为努力。