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
我的一开始的开发环境的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
启动后,
通过
curl localhost:9200
查看本地是否可以访问到
如果本地可以访问到,且外网访问不到,可继续往下看
修改 /config/elasticsearch.yml
文件
把 network.host 这句话放开,改为
network.host: 0.0.0.0
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
解决办法
放开 node.name: node-1
注释,可更改名称 node.name: node-1
放开 cluster.initial_master_nodes: ["node-1"]
#这里的node-1为node-name配置的值