我试图在MacOSX10.15Catalina上启动ElasticSearch6.8,但它显示错误。我已经授予System/Volumes/Data/usr/local/var/lib/elasticsearch/nodes/0文件夹777权限。
>
OpenJDK 12
[2019-06-24T15:12:32,803][WARN][o. e. b.Elasticsearch chUncaughtExceptionHandler][未知]在线程中未捕获异常[main]org.elasticsearch.bootstrap.StartupExcture:java.security.AccessControlExc0019:访问被拒绝("java.io.FilePersion"/System/卷/数据/usr/本地/var/lib/elasticsearch/节点/0"写入")在org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163)~[elasticsearch-6.8.1.jar: 6.8.1]在org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150)~[elasticsearch-6.8.1.jar: 6.8.1]在org.elasticsearch.cli.环境--plhd--12/>(环境保护ommand.java:86)~[elasticsearch-6.8.1.jar: 6.8.1]在org.elasticsearch.cli.Command.main维基错误处理(Command.java:124)~[elasticsearch-cli-6.8.1.jar: 6.8.1]在org.elasticsearch.cli.: 90)~[elasticsearch ch-cli-6.8.1. jar: 6.8.1]at org. elasticsearch. bootstraps.elasticsearch. main(Elasticsearch. java: 116)~[elasticsearch-6.8.1. jar: 6.8.1]at org. elasticsearch. bootstraps.Elasticsearch. main(Elasticsearch. java: 93)~[elasticsearch-6.8.1. jar: 6.8.1]引起:java. security.访问被拒绝("java. io.在java. security中的FilePersion"/System/卷/数据/usr/本地/var/lib/elasticsearch/节点/0""写")。在java. security的AccessControlContext. check权限(AccessControlContext. java: 472)~[?: 1.8.0_212]。在java. lang上的AccessController. check权限(AccessController. java: 884)~[?: 1.8.0_212]。SecurityManager. check权限(SecurityManager. java: 549)~[?: 1.8.0_212]at java. lang.SecurityManager. check(SecurityManager. java: 979)~[?: 1.8.0_212]at sun. nio. fs.UnixPath. check(UnixPath. java: 801) ~[?:?]at sun. nio. fs.创建目录(UnixFileSystemProvider. java: 376) ~[?:?]java. nio. file.Files. createDirectory(Files. java: 674)~[?: 1.8.0_212]at java. nio. file.Files. createAndCheckIsDirectory(Files. java: 781)~[?: 1.8.0_212]at java. nio. file.Files. createDirectory(Files. java: 727)~[?: 1.8.0_212]at org. apache. Lucene. store.NativeFSLockFactory. obtainFSLock(NativeFSLockFactory. java: 92)~[Lucene-core-7.7.0. jar: 7.7.0 8c831daf4eb41153c25ddb152501ab5bae3ea3d5-jimczi-2019-02-04 23:16:28]at org. apache. Lucene. store.FSLockFactory. obtainLock(FSLockFactory. java: 41)~[Lucene-core-7.7.0. jar: 7.7.0 8c831daf4eb41153c25ddb152501ab5bae3ea3d5-jimczi-2019-02-04 23:16:28]at org. apache. Lucene. store.BaseDirectory. obtainLock(BaseDirectory. java: 45)~[Lucene-core-7.7.0. jar: 7.7.0 8c831daf4eb41153c25ddb152501ab5bae3ea3d5-jimczi-2019-02-04 23:16:28]at org. elasticsearch. env.NodeLock.)java: 211)~[elasticsearch-6.8.1. jar: 6.8.1]at org. elasticsearch. env.节点环境)java: 270)~[elasticsearch-6.8.1. jar: 6.8.1]at org. elasticsearch. node.节点)java: 296)~[elasticsearch-6.8.1. jar: 6.8.1]at org. elasticsearch. node.节点)java: 266)~[elasticsearch-6.8.1. jar: 6.8.1]at org. elasticsearch. bootstraps.Bootstrap5美元。java: 212)~[elasticsearch-6.8.1. jar: 6.8.1]at org. elasticsearch. bootstraps.引导安装(Bootstrap. java: 212)~[elasticsearch-6.8.1. jar: 6.8.1]at org. elasticsearch. bootstrp.Bootstrap. init(Bootstrap. java: 333)~[elasticsearch-6.8.1. jar: 6.8.1]at org. elasticsearch. bootstrap.Elasticsearch. init(Elasticsearch. java: 159)~[elasticsearch-6.8.1. jar: 6.8.1]...6更多
我有同样的错误ElasticSearch 2.4和OpenJDK 8,并得到它的工作没有chmod
或chown
或运行ES与sudo
。
这篇评论中的解决方案虽然不太理想(可以说,您正在降低java环境的安全性),但帮助我让它运行起来:https://stackoverflow.com/a/12317528
我基本上在我的java中添加了以下内容。policy
(因为我安装了OpenJDK 8,所以我用$sudo nano/Library/Java/JavaVirtualMachines/AdoptOpenJDK-8.jdk/Contents/Home/jre/lib/security/Java.policy
)在第二个grant{}
块中编辑了它,最后:
permission java.io.FilePermission "/System/Volumes/Data/usr/local/Cellar/elasticsearch@2.4/-", "read";
permission java.io.FilePermission "/System/Volumes/Data/usr/local/var/elasticsearch/-", "read";
permission java.io.FilePermission "/System/Volumes/Data/usr/local/var/elasticsearch/-", "write";
permission java.io.FilePermission "/System/Volumes/Data/usr/local/var/elasticsearch/-", "delete";
注意我的路径和你的略有不同(我在ES2.4,你在6.8,这可能是相关的),但希望这能帮助你摆脱困境。
catalina符号链接 /usr/local/到其他一些数据卷。
通过brew安装的Elasticsearch为数据和日志创建不同的目录链接。您可以像这样在配置文件中插入完整路径。因为弹性搜索不喜欢符号链接?
path.data: /System/Volumes/Data/usr/local/var/lib/elasticsearch/
path.logs: /System/Volumes/Data/usr/local/var/log/elasticsearch/
但这会导致另一个无法访问插件的错误。
Caused by: java.security.AccessControlException: access denied ("java.io.FilePermission" "/System/Volumes/Data/usr/local/Cellar/elasticsearch-full/7.1.1/libexec/modules/percolator/percolator-client-7.1.1.jar" "read")
一种解决方法是手动下载elasticsearch,并使用自定义启动守护程序从用户目录中运行。这对我有用。
也许其他人可以帮我照一下。
试试sudo/elsticsearch或我认为授予ELASTIC BASEDIR中数据文件夹的权限(取决于您的安装方式)将解决此问题(不确定,但值得一试)
问题内容: 我跟随本文将一些数据发送到AWS ES,并使用了jar elasticsearch-hadoop。这是我的脚本: 然后运行以下命令行: 其中write_to_es.py是上面的脚本。 这是我得到的错误: 如何解决这个问题: 任何帮助或建议,我们将不胜感激。 问题答案: 我有同样的问题。 看完这篇文章,我找到了答案!!! 您必须像这样转换为Type:
问题内容: 我使用Elasticsearch Java API创建了一个Java文件。在NetBeans中,一切正常。 但是,我开始出现以下错误: 尝试从JRuby调用我的Java JAR文件时。是什么导致此错误? 问题答案: 现在,您可以通过该属性在测试过程中禁用 “ jar hell”检查。
Ingest 节点是 Elasticsearch 5.0 新增的节点类型和功能。其开启方式为:在 elasticsearch.yml 中定义: node.ingest: true Ingest 节点的基础原理,是:节点接收到数据之后,根据请求参数中指定的管道流 id,找到对应的已注册管道流,对数据进行处理,然后将处理过后的数据,按照 Elasticsearch 标准的 indexing 流程继续运
问题内容: 假设我想使用elasticsearch在网站上实施通用搜索。顶部的搜索栏将有望在整个网站上找到各种资源。确保文档(通过tika上载/索引),但也包括客户,帐户,其他人等内容。 由于架构原因,大多数非文档资料(客户,帐户)将存在于关系数据库中。 实施此搜索时,选项1将是创建所有内容的文档版本,然后仅使用elasticsearch运行搜索的所有方面,而完全不依赖关系数据库来查找不同类型的对
这使我感到困惑,因此我的问题是: 在PutHDFS中,我链接到HDFS集群的配置单元站点和核心站点(我尝试更新所有服务器引用到HDFS namenode,但没有效果) 我不在HDFS集群上使用Kerberos(我在NIFI集群上使用它) 我在NIFI应用程序日志中没有看到任何类似错误的东西(这是有意义的,因为它成功地写入了错误的位置) 这两个集群都是使用CloudBreak在Amazon AWS上
问题内容: 好的,这应该不难,我试图在Elasticsearch集群中运行2个节点,并在尝试启动node-1(作为主节点的node-2已经启动)时遇到异常。对两个实例都使用elasticsearch v 5.0.0 例外: 无法将加入请求发送到主节点,原因是RemoteTransportException无法添加找到的具有相同ID但却是不同节点实例的现有节点的节点] 节点1配置: 节点名称:SAN