java - 无法在 Azure Web 应用上运行 Solr

标签 java azure solr azure-web-app-service

我无法让 solr (6.3.0) 在 Azure 网站上运行。具体来说,执行以下操作时似乎无法检测 java 版本

"D:\Program Files\Java\zulu8.17.0.3-jdk8.0.102-win_x64\bin\java" -version   2>&1  | findstr /i "version"  1>javavers
type javavers
set /p JAVAVEROUT=<javavers
@REM app_data\bin\solr.cmd start -f -V -p %HTTP_PLATFORM_PORT% -Djava.net.preferIPv4Stack=true

当从 kudu 控制台运行时,此代码运行时没有错误,并且 JAVAVEROUT 按预期设置。但是,当通过 http 平台处理程序运行时,它在最后一行失败,如下所示

D:\home\site\wwwroot>"D:\Program Files\Java\zulu8.17.0.3-jdk8.0.102-win_x64\bin\java" -version      2>&1  | findstr /i "version"   1>javavers 

D:\home\site\wwwroot>type javavers 
openjdk version "1.8.0_102"

D:\home\site\wwwroot>set /p JAVAVEROUT= 0<javavers 
The handle could not be opened
during redirection of handle 0.

有什么想法为什么这在平台处理程序中失败,但可以通过 kudu 控制台工作吗?

作为引用,下面是我正在使用的 web.config。 (Start.cmd 是本文开头的批处理脚本。)

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers>
            <clear />
            <add name="httppPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
        </handlers>
        <httpPlatform processPath="d:\home\site\wwwroot\start.cmd" 
            startupTimeLimit="1"
            stdoutLogEnabled="true"
            stdoutLogFile="d:\home\LogFiles\httpPlatformStdout.log"
            />
    </system.webServer>
</configuration>

最佳答案

仍不确定 solr.cmd 在 azure 网站中失败的根本原因是什么,但应用 https://github.com/apache/lucene-solr/pull/113解决该问题,因为它删除了导致 solr.cmd 启动失败的代码

关于java - 无法在 Azure Web 应用上运行 Solr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40794626/

相关文章:

java - 将 JavaFX 菜单项文本居中对齐

c# - 将私钥存储到 Azure KeyVault,值已更改

ruby-on-rails - Ruby on Rails 4 : How to authenticate to Azure AD from Rails Application?

elasticsearch - 单机性能上的多个碎片

mysql - apache solr 中文档的请求计数

java - 如何在Java中启动输出受限的双端队列?

java - 在空 JComboBox 上调用 addItem 会触发 actionPerformed 事件

java - 如何将一个节点与Java中的下一个节点链接起来

azure - 在 Microsoft Azure 服务总线中使用 TopicClient/QueueClient.sendAsync(IList<Message>) 发送的消息列表的大小限制 - 2020

java - Solr url 的 session ID