我有两个问题想问。
我现在想将一个ElasticSearch的完整包捆绑到NW.js应用中,在启动应用的时候同时启动ElasticSearch,实现在nwjs应用中离线集成es实现全文检索功能。
我尝试过一些办法,比如在node-main中调用一个js,利用node原生API的spawn命令启动本地文件: elasticSearch/bin/elasticsearch
,但是启动的时候会提示一连串错误:
首先第一个问题就是:这些错误弹窗能不能忽略掉?
在我一个接一个的点取消之后,es似乎是正常启动了,因为我可以在浏览器访问 http://localhost:9200/ 。注意此时是没有身份认证的模式,可以正常使用。
但是当我想启用身份认证的时候我就有点迷糊了,不知道应该怎么设置elastic的初始密码。
discovery.type: single-node
network.host: 0.0.0.0
xpack.security.enabled: true
xpack.security.enrollment.enabled: true
xpack.security.http.ssl.enabled: false
这个是我开启身份认证的elasticsearch.yml配置文件,应用启动后权限拦截是打开了的,访问 http://localhost:9200/ 提示我输入密码,不输入的话会报错401。
我的想法是通过命令行执行elasticsearch-setup-passwords
或者是 elasticsearch-reset-password
的方式设置密码,但是命令行的方式都需要交互,也就是需要手动输入密码。
所以我的第二个问题是:如何对elasticSearch的密码进行初始化?