So I attempted to write a rudimentary remote interpreter anyway, despite that isTest needs to be true for the remote server constructor to work. The effect is, the server's method createInterpreter throws NullPointerException, as it calls intpEventClient, which in turn is initialised only if isTest is false.
On Mon, Nov 4, 2019 at 4:06 PM Artur Rataj <arturra...@gmail.com> wrote: > > Yes, I can do that, but I would want to connect to my interpreter via > any Zeppelin instance, not only via one customised, with an additional > interpreter added to its sources at compile time. This is why I wanted > to use a remote interpreter, i.e. one in an independent application. > > This constructor: > > RemoteInterpreterServer interpreter=new > RemoteInterpreterServer("localhost", > > RemoteInterpreterUtils.findRandomAvailablePortOnAllLocalInterfaces(), > ":", "groupId", true); > > works only with isTest=true, which I guess is for ... testing only. > But I do not know, there are no docs. > > If the remote interpreter does not work, I will modify some simple > interpreter to support a remote interpreter. I guess that it would > work, but it seems somewhat nonsensical to implement a functionality > which in theory is already provided by Zeppelin. > > > On Mon, Nov 4, 2019 at 3:55 PM Jeff Zhang <zjf...@gmail.com> wrote: > > > > The most simplest interpreter might be shell interpreter. You can create a > > simple interpreter module like sh module, and extend abstract class > > Interpreter. > > > > Refer > > http://zeppelin.apache.org/docs/0.8.2/development/writing_zeppelin_interpreter.html#make-your-own-interpreter > > > > https://github.com/apache/zeppelin/blob/master/shell/src/main/java/org/apache/zeppelin/shell/ShellInterpreter.java > > > > > > Artur Rataj <arturra...@gmail.com> 于2019年11月4日周一 下午10:44写道: > >> > >> I would need any way of writing a remote interpreter for Zeppelin 0.9. > >> It would be useful to have some docs, an example or whatever which > >> describes RemoteInterpreterServer in 0.9. No API docs in the sources, > >> searching in turn for an actual usage of RemoteInterpreterServer on > >> the web shows some no-more-working test in 0.9. > >> > >> If I connect via Zeppelin to (new RemoteInterpreterServer(null, > >> SOME_PORT, "some-name", null)).start() and connect via add > >> interpterer/connect to existing process on the Zeppelin side, I get it > >> causes java.lang.RuntimeException: > >> org.apache.thrift.TApplicationException: Internal error processing > >> createInterpreter. If I replace null with any name like localhost, i > >> get "connection refused" on the interpreter side. By the way, checking > >> "connect to existing process" still makes it mandatory to specify > >> "interpreter group". > >> > >> Could you give me some basic hints on making a connection to a simple > >> remote interpreter which consumes paragraph contents and produces > >> %html? > > > > > > > > -- > > Best Regards > > > > Jeff Zhang