目前我无法在Windows Server 2012上的TFS 2017.1上启动ElasticSerach 2.4.1
日志文件说访问被拒绝,但文件夹" E:\ TfsData \ Search \ IndexStore"拥有775项权利
elasticsearch-service-x64-stderr.xxxx-xx-xx.log
2017-04-27 07:20:56 Commons Daemon procrun stderr initialized
Exception in thread "main" tion: Unable to access 'path.data' (E:\TfsData\Search\IndexStore)
Likely root cause: java.nio.file.AccessDeniedException: E:\TfsData\Search\IndexStore
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:90)
at sun.nio.fs.WindowsLinkSupport.getRealPath(WindowsLinkSupport.java:259)
at sun.nio.fs.WindowsPath.toRealPath(WindowsPath.java:836)
at sun.nio.fs.WindowsPath.toRealPath(WindowsPath.java:44)
at org.elasticsearch.bootstrap.Security.ensureDirectoryExists(Security.java:333)
at org.elasticsearch.bootstrap.Security.addPath(Security.java:314)
at org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java:256)
at org.elasticsearch.bootstrap.Security.createPermissions(Security.java:212)
at org.elasticsearch.bootstrap.Security.configure(Security.java:118)
at org.elasticsearch.bootstrap.Bootstrap.setupSecurity(Bootstrap.java:212)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:183)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Refer to the log for complete error details.
TFS_Serach_TFS.log
[ERROR][bootstrap] Exception
java.lang.IllegalStateException: Unable to access 'path.data' (E:\TfsData\Search\IndexStore)
at org.elasticsearch.bootstrap.Security.addPath(Security.java:316)
at org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java:256)
at org.elasticsearch.bootstrap.Security.createPermissions(Security.java:212)
at org.elasticsearch.bootstrap.Security.configure(Security.java:118)
at org.elasticsearch.bootstrap.Bootstrap.setupSecurity(Bootstrap.java:212)
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:183)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Caused by: java.nio.file.AccessDeniedException: E:\TfsData\Search\IndexStore
at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:83)
at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:90)
at sun.nio.fs.WindowsLinkSupport.getRealPath(WindowsLinkSupport.java:259)
at sun.nio.fs.WindowsPath.toRealPath(WindowsPath.java:836)
at sun.nio.fs.WindowsPath.toRealPath(WindowsPath.java:44)
at org.elasticsearch.bootstrap.Security.ensureDirectoryExists(Security.java:333)
at org.elasticsearch.bootstrap.Security.addPath(Security.java:314)
... 7 more
我对ElasticSerach(elasticsearch.yml)的配置
{
"cluster.name": "TFS_Search_${COMPUTERNAME}",
"node.name": "${COMPUTERNAME}",
"index.number_of_replicas": 0,
"path.data": "${SEARCH_ES_INDEX_PATH}",
"http.port": 9200,
"discovery.zen.ping.multicast.enabled": false,
"network.host": "127.0.0.1"
}
每个人都有一个想法,我该如何解决这些问题。
编辑: 服务器日志,当我尝试启动Elasticsearch服务时
'AccountFaultInJob' failed with error : Microsoft.VisualStudio.Services.Search.Common.SearchPlatformException: ES Exception: Unknown Exception Err: [Nest.GetAliasesResponse]. Raw response:
答案 0 :(得分:0)
长时间解决问题后
有一些问题
搜索索引的文件夹具有所有必需的访问权限,但是在Windows下,该驱动器具有单独的访问权限,因此搜索服务的帐户需要对该驱动器具有访问权限。
端口8000和 9200 已绑定到TFS,我从IIS中删除了对端口9200的绑定。您可以在IIS-Manger-> TFS->网站
ElasticSearch服务始终在安装中使用端口 9201 ,在我从IIS中删除端口绑定并重新安装ElasticSearch之后,它使用端口9200。
一切正常之后,我已经通过PowerShell脚本开始了完整的重新索引。这将需要几个小时。在完成索引编制之前,代码搜索页面将始终显示错误。
TFS管理员的重要URL:
在TFS上-> ES状态-> http://localhost:9200/_cat/health?v
TFS状态,作业等-> http://[Server]:8080/tfs/_oi/ (您需要完整的TFS管理员权限)
希望它可以为您提供帮助