mahout-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tammuz <rasil...@gmail.com>
Subject Re: Installing Mahout
Date Fri, 11 Jun 2010 13:06:15 GMT

Well this is the tutorial that I use:

To build and run the demo, follow the instructions below, which are written
for Unix-like operating systems:

   1. Obtain a copy of the Mahout distribution, either from SVN or as a
downloaded archive.
   2. Download the "1 Million MovieLens Dataset" from
http://www.grouplens.org/.
   3. Unpack the archive and copy movies.dat and ratings.dat to
trunk/taste-web/src/main/resources/org/apache/mahout/cf/taste/example/grouplens
under the Mahout distribution directory.
   4. Navigate to the directory where you unpacked the Mahout distribution,
and navigate totrunk.
   5. Runmvn install, which builds and installs Mahout core to your local
repository
   6. cd taste-web
   7. cp ../examples/target/grouplens.jar ./lib
   8. Edit recommender.properties and fill in therecommender.class:
recommender.class=org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommender
   9. mvn package
  10. mvn jetty:run-war. You may need to give Maven more memory: in a bash
shell, export MAVEN_OPTS=-Xmx1024M
  11. Get recommendations by accessing the web application in your browser:
      http://localhost:8080/RecommenderServlet?userID=1
      This will produce a simple preference-item ID list which could be
consumed by a client application. Get more useful human-readable output with
the debug parameter:
      http://localhost:8080/RecommenderServlet?userID=1&debug=true

Incidentally, Taste's web service interface may then be found at:
http://localhost:8080/RecommenderService.jws
Its WSDL file will be here...
http://localhost:8080/RecommenderService.jws?wsdl
... and you can even access it in your browser via a simple HTTP request:
.../RecommenderService.jws?method=recommend&userID=1&howMany=10

Note: the exact URL where the service is deployed depends on how you
deployed the application in your app server. For instance if you deployed it
as a .war file called 'mahout-taste-webapp.war', it will deploy at a URI
whose path begins with /mahout-taste-webapp/ instead.

So I downloaded Mahout from this link:
http://www.apache.org/dyn/closer.cgi/lucene/mahout/
as you can see there are 3+2 folders (0.1, 0.2, 0.3) and
(mahout-collection-codegen-plugin-1.0, mahout-collections-1.0), I assume
that (0.1, 0.2, 0.3) refer to different versions of Mahout so I decided to
use the 0.3 assuming that it is the newest one.
passing to the 3rd step, no path like this exist I fond a zip file inside
the 0.3 folder called mahout-0.3-src.zip, on extracting it I get a folder
called mahout-0.3 inside which I can find the path stated in 3 but without
the trunk folder (ie,
taste-web/src/main/resources/org/apache/mahout/cf/taste/example/grouplens).

by consequence the step 4 looks incomprehensible for me, so I went to the
folder mahout-0.3 which seems to me the replacer of "trunk".

after that step 5 was done successfully.

for step 7 I did not find the folder target in the folder examples, in
addition I tried to search for the file grouplens.jar but could not find it.

step 8 I did not need to edit the file recommender.properties because the
value was already the same as described in this step

step 9 was done successfully too

in step 10 I received the next error

2010-06-11 15:03:59.119:INFO::jetty-8.0.0.M0
2010-06-11 15:03:59.194:INFO::Extract
jar:file:/home/alchiekc/mahout/0.3/mahout-0.3/taste-web/target/mahout-taste-webapp-0.3.war!/
to
/home/alchiekc/mahout/0.3/mahout-0.3/taste-web/target/mahout-taste-webapp-0.3
2010-06-11 15:04:01.078:INFO::No Transaction manager found - if your webapp
requires one, please configure one.
2010-06-11 15:04:01.159:INFO::No annotation on initializer class
org.apache.jasper.runtime.TldScanner
2010-06-11 15:04:03.920:WARN:/:unavailable
org.apache.mahout.cf.taste.common.TasteException:
java.lang.ClassNotFoundException: ${recommender.class}
	at
org.apache.mahout.cf.taste.web.RecommenderSingleton.<init>(RecommenderSingleton.java:53)
	at
org.apache.mahout.cf.taste.web.RecommenderSingleton.initializeIfNeeded(RecommenderSingleton.java:42)
	at
org.apache.mahout.cf.taste.web.RecommenderServlet.init(RecommenderServlet.java:74)
	at
org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:442)
	at org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:270)
	at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
	at
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:724)
	at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:268)
	at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:978)
	at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:608)
	at
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:155)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:349)
	at
org.mortbay.jetty.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:102)
	at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
	at
org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:165)
	at
org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:162)
	at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
	at
org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:165)
	at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
	at
org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:92)
	at org.eclipse.jetty.server.Server.doStart(Server.java:231)
	at org.mortbay.jetty.plugin.JettyServer.doStart(JettyServer.java:69)
	at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
	at
org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:433)
	at
org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:377)
	at
org.mortbay.jetty.plugin.JettyRunWarMojo.execute(JettyRunWarMojo.java:68)
	at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
	at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
	at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:512)
	at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:482)
	at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
	at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
	at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
	at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
	at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
	at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
2010-06-11 15:04:03.978:INFO::Started SelectChannelConnector@0.0.0.0:8080


so is this clear enough for you?
-- 
View this message in context: http://lucene.472066.n3.nabble.com/Installing-Mahout-tp870701p888477.html
Sent from the Mahout User List mailing list archive at Nabble.com.

Mime
View raw message