一、启动的时候出现的问题
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配置的值
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。