分发索引时出现间歇性问题:(所有服务器都是Windows Server 2008。
我有两台服务器要分发,其中一台服务器因此错误而失败两次:
INFO: [MDEXHost1] Starting shell utility 'move_dgraph-input_to_dgraph-input-old'.
10-Jun-2015 06:08:36 com.endeca.soleng.eac.toolkit.script.Script runBeanShellScript
SEVERE: Utility 'move_dgraph-input_to_dgraph-input-old' failed.
通过进一步挖掘,我在PlatformServices \ workspace \ logs \ shell文件夹的日志文件中发现了这个错误:
Failed to move D:\Firebird\config\script\..\..\.\data\dgraphs\Dgraph1\dgraph_input to
D:\Firebird\config\script\..\..\.\data\dgraphs\Dgraph1\dgraph_input_old: No such file or directory at -e line 1.
服务器的状态是有一个dgraph_input_new文件夹,但它正在努力创建dgraph_input_old文件夹。 dgraph_input文件夹确实存在,因此没有这样的文件或目录'很有意思。
服务器有足够的磁盘空间用于操作,因为它不间断我不会认为它的文件/文件夹权限(否则它会一直失败)。我甚至要求在我们的病毒扫描程序锁定文件/文件夹时禁用这些文件夹的访问时病毒扫描。
我正努力想出一个解决问题的方法,HALP!
编辑:伪造过程确实停止了dgraph,但TomCat6进程仍在运行。这是正常的吗? TomCat可以锁定文件夹吗?编辑:移动文件夹的任务有点像Perl,如下所示:
perl.exe -e "use strict; use File::Spec; use File::Copy; use File::Glob qw/:glob/;my $source = 'D:\Firebird\config\script\..\..\.\data\dgraphs\Dgraph1\dgraph_input'; $source =~ s/[\\\/]+$//;my @sources = bsd_glob($source); foreach my $file (@sources) {my @fromPath = File::Spec->splitdir($file); if (scalar @fromPath eq 0) { die \"Failed to split path: $!\"; } my $fromRelative = @fromPath[scalar @fromPath - 1];my $toFile = 'D:\Firebird\config\script\..\..\.\data\dgraphs\Dgraph1\dgraph_input_old'; if ( -d $toFile ) { $toFile =File::Spec->catdir($toFile, $fromRelative); } my $res = move($file, $toFile);if (! $res) { die \"Failed to move $file to$toFile: $!\"; }}"
编辑:这似乎是一个简单的权限问题,我无法重命名该文件夹而不会将自己提升为管理员。该服务作为Administrators组中的用户运行。
怎么可能只使这个文件夹管理?
答案 0 :(得分:0)
我知道这个问题可以追溯到3年前。但是最近我遇到了同样的问题,以为它可以帮助其他人。
正如GogLlundain指出的,这些日志很有趣。
解决这个问题的方法是。