@kan kodali, i’m not a front guy either.i’v got the same requirement as you
recently, i have to separate zeppelin backend and frontend to different
servers, i did as what the previous mail says,i works.
for you questions:
1. AFAK,is not configurable. if you are familiar with Grunt ,maybe a custom
property can do.(i’m not sure)
2. zeppelin use Websocket to handle bidirectional communication with backend
and frontend. Once is Websocket connection is done, backend run you sql, and
send result data as json back to frontend, which handling rendering.
3. let me elaborate on my procedure to achieve separating zeppelin backend and
frontend to different servers。
1)host1,as zeppelin backend, install zeppelin-xxx.tar.gz(the distribution
binary), bin/zeppelin-daemon.sh start. then, you got your zeppelin backend
done, which has a frontend bundled with it . but you would use it.
2) host2 , as zeppelin frontend. Grab zeppelin-web module(src code),install
node.js and Grunt,change zeppelin-web/src/components/baseUrl/baseUrl.service.js
like this, which reference you zeppelin backend address:
this.getWebsocketUrl = function() {
var wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
return wsProtocol + ‘//host1:' + this.getPort() +
skipTrailingSlash(location.pathname) + '/ws';
};
this.getRestApiBase = function() {
return location.protocol + ‘//host1:' + this.getPort() +
skipTrailingSlash(location.pathname) +
'/api';
};
3) in host2, run " grunt serve “ in zeppelin-web folder.
Done
> 在 2016年9月8日,02:30,kant kodali <[email protected]> 写道:
>
> Hi! Thanks for this but I still see the big picture. I have not used Angular
> before nor I am a frontend guy. so I have the following questions.
>
> Why do we need to change the source code? isn't this configurable or isn't
> there a way to pass url as a parameter? If you think it is the easiest way
> sure I can change that.
> How change this let me grab data from my websocket server and display it with
> the charts/graphs (simple to graphs we see when we run sql on Zeppelin
> notebook)
> if there is a simple example that would be awesome.
> Thanks again!
>
>
>
>
>
> On Wed, Sep 7, 2016 5:05 AM, [email protected] [email protected]
> <mailto:[email protected]> wrote:
> @kant kodali
>
> change zeppelin-web\ src\components\baseUrl\baseUrl.service.js like this:
>
> this.getWebsocketUrl = function() {
> var wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
> return wsProtocol + ‘//your_ip_address:' + this.getPort() +
> skipTrailingSlash(location.pathname) + '/ws';
> };
>
> this.getRestApiBase = function() {
> return location.protocol + '//your_ip_address:' + this.getPort() +
> skipTrailingSlash(location.pathname) +
> '/api';
> };
>> 在 2016年9月7日,15:39,kant kodali <[email protected]
>> <mailto:[email protected]>> 写道:
>>
>> HI Guys,
>>
>> I have a server which can handle websocket connections. Now I would like to
>> see if there is a way to tell apache zeppellin to create to websocket
>> connect to my server and display the whatever it received?
>>
>> Thanks,
>> Kant