2010-12-05 44 views
1

我有一個網絡應用程序,它生成運行Nutch爬網的腳本。這一切都工作得很好,除了現在我的客戶希望它在Windows PC上運行。她給我的Windows PC運行Windows 7 Home Premium。無法從Windows上的Tomcat webapp運行nutch

我已經得到了幾乎所有運行,除非抓取腳本 - 火災時關閉Nutch的,Nutch的(運行Hadoop的,這對於一些奇怪的原因做了whoami)失敗,因爲whoami返回「NT AUTHORITY \ SYSTEM」,而不是單個字符串。錯誤:

javax.security.auth.login.LoginException: Login failed: Expect one token as the result of whoami: nt authority\system

有沒有辦法改變whoami在這種情況下返回的名稱?

更新:只是爲了澄清,當我從命令行運行它時,完全相同的腳本運行正常。問題是Tomcat作爲服務運行,所以它產生的腳本以「NT權限\系統」用戶身份運行,這就是混淆hadoop的原因,因爲它明顯期望whoami返回一個單詞,而不是由兩個單詞分隔的單詞空間。

回答

1

The problem is that Tomcat runs as a service, so the script it spawns is running as this "nt authority\system" user, which is what is confusing hadoop because it evidently expects whoami to return a single word, not two words separated by a space.

然後更改帳戶。 開始>運行> services.msc,雙擊Tomcat服務,打開登錄選項卡並在那裏設置帳戶。

+0

我不知道你可以改變這一點。謝謝。 – 2010-12-05 15:37:26

0

我使用Vista在Windows PC上運行Nutch ...幾乎每天都會安裝cygwin你試過了嗎?

+0

是的,我已經安裝了cygwin。你沒有回答這個問題 - 我試圖從作爲服務運行的Tomcat中運行它,所以它不會以相同的用戶標識運行,就像你自己啓動它一樣。 – 2010-12-05 12:14:06