服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

Solr读超时(仅在生产环境中)

我正在使用SolrJ将索引文档索引到Solr服务器的Java应用程序。 在我的本地testing环境中,我在Windows XP上的Tomcat服务器上运行本地Solr实例。 当我从一个不同的Windows框中运行Java应用程序时,索引成功完成,Solr日志文件看起来很正常。 然而,运行在linux webserver上部署的相同的Java应用程序与运行Solr的另一个Linuxnetworking服务器通信,每次solr更新命令后,我都会收到“read timed out”消息: 2011年7月14日上午03时12分31秒org.apache.solr.core.SolrCore执行信息:[] webapp = / solr path = / update params = {wt = javabin&version = 1} status = 400 QTime = 20020 2011年7月14日上午3:12:51 org.apache.solr.update.processor.LogUpdateProcessor完成INFO:{} 0 20021 2011年7月14日上午3:12:51 org.apache.solr.common.SolrException日志严重性:org.apache.solr.common.SolrException:java.net.SocketTimeoutException:读取超时在org.apache.solr.handler .XMLLoader.load(XMLLoader.java:72)at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:54)at … 引起:javax.xml.stream.XMLStreamException:java.net.SocketTimeoutException:读取超时 任何想法,为什么这可能会发生? 我的怀疑是有些东西在启动后closures这些连接(例如网页过滤软件,防火墙…),但是我的工作场所的networkingpipe理员说没有stream量被阻塞。 这也是奇怪的,为什么这个工程在Windows上,而不是在Linux上。

将EBS和EIP移动到新实例后,RSA指纹发生了变化

我在EBS支持的EC2实例上运行Ubuntu。 为了更改我的实例的安全组,我按照这里的说明将ebs卷移动到一个新的实例。 然后我把我的弹性IP重新分配给新的实例。 现在ssh抱怨rsa密钥已经改变,但是在控制台日志中我没有看到RSA密钥生成的提及。 为什么这样做? 如何获得“新”主机RSA指纹或恢复“旧”指纹? 更新:下面详细介绍的步骤比必要的更多。 pipe理ubuntu ec2服务器上ssh密钥的最简单方法是在实例启动时用用户数据指定它们 。 以下是我如何获得新的服务器RSA指纹: 运行新的EBS支持的实例,从控制台日志logging新的临时RSA指纹。 停止新的实例 从新实例中分离出EBS卷 将旧卷附加到新实例上的/dev/sda1 启动与旧卷连接的新实例。 就像Michael Lowman指出的那样, ssh_host_rsa_key被(无声)重新生成。 如果我直接跳到第7步,我应该看到旧实例的host_rsa_key。 停止新的实例 从/dev/sda1分离旧卷并重新连接到/dev/sdb 将新实例的原始EBS启动卷重新附加到/dev/sda1 启动新的实例,通过SSH连接(RSA指纹应该与步骤1中logging的临时指纹相匹配) 将旧的EBS卷(现在安装在/dev/sdb )中的新ssh_host_rsa_key.pub复制到我的本地known_hosts文件中。 停止新实例,从/dev/sda1分离新卷并将其删除。 分离并重新将旧卷连接到/dev/sda1 。 调出新的实例 ssh不会抱怨主机的RSA指纹 问题仍然存在:为什么会改变?