Hi all,
Trying to setup the 0.11 with es5 storage for meta en events (localfs for
models).
I had some difficulties:
1. with make_distribution: had to substitute the origin of the copy operation
from
/lib/spark/pio-data-elasticsearch-assembly-*.jar
to the directory
storage/elasticsearch/target/scala-2.10/apache-predictionio-data-elasticsearch-assembly-*.jar
2. [probably particular to my case] had to make sure ES5 was open for 0.0.0.0
on tcp4, make jvm not change this to tcp6, and change allowed mem for jvm (ES5
now has some bootstrapping checks)
3. had to uncomment some parts from the pio-start-all: hbase and pgsql part
After making a distribution, elastic comes up, but pio throws a bubbled up
error:
2017-03-09 12:29:34,948 INFO
org.apache.predictionio.tools.commands.Management$ [main] - Creating Event
Server at 0.0.0.0:7070
2017-03-09 12:29:35,951 ERROR org.apache.predictionio.data.storage.Storage$
[main] - Error initializing storage client for source ELASTICSEARCH
java.lang.ClassNotFoundException: ELASTICSEARCH.StorageClient
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at
org.apache.predictionio.data.storage.Storage$.getClient(Storage.scala:225)
at
org.apache.predictionio.data.storage.Storage$.org$apache$predictionio$data$storage$Storage$$updateS2CM(Storage.scala:251)
at
org.apache.predictionio.data.storage.Storage$$anonfun$sourcesToClientMeta$1.apply(Storage.scala:212)
at
org.apache.predictionio.data.storage.Storage$$anonfun$sourcesToClientMeta$1.apply(Storage.scala:212)
at
scala.collection.mutable.MapLike$class.getOrElseUpdate(MapLike.scala:189)
at scala.collection.mutable.AbstractMap.getOrElseUpdate(Map.scala:91)
at
org.apache.predictionio.data.storage.Storage$.sourcesToClientMeta(Storage.scala:212)
at
org.apache.predictionio.data.storage.Storage$.getDataObject(Storage.scala:281)
at
org.apache.predictionio.data.storage.Storage$.getDataObjectFromRepo(Storage.scala:266)
at
org.apache.predictionio.data.storage.Storage$.getLEvents(Storage.scala:384)
at
org.apache.predictionio.data.api.EventServer$.createEventServer(EventServer.scala:617)
at
org.apache.predictionio.tools.commands.Management$.eventserver(Management.scala:77)
at org.apache.predictionio.tools.console.Pio$.eventserver(Pio.scala:123)
at
org.apache.predictionio.tools.console.Console$$anonfun$main$1.apply(Console.scala:665)
at
org.apache.predictionio.tools.console.Console$$anonfun$main$1.apply(Console.scala:626)
at scala.Option.map(Option.scala:145)
at
org.apache.predictionio.tools.console.Console$.main(Console.scala:626)
at org.apache.predictionio.tools.console.Console.main(Console.scala)
I believe that I did not include the
apache-predictionio-data-elasticsearch-assembly-*.jar in the right place, or I
have to config that place better.
From what I've read on the mailing list this was in quite some flux, but I
thought that this file should end up in lib/extra ? Is that still correct?
I can wait for the official 0.11, but I figured I can also try to get my feet
wet a little ;)
Thanks in advance,
Paul