cancel
Showing results for 
Search instead for 
Did you mean: 

Remote ESP Studio

i033659
Advisor
Advisor
0 Kudos

Hello,

I installed an Event Stream Processor (ESP) on a VMWare with Linux as OS.

Question: Is it possible to run the ESP Studio as Eclipse application remotely from a (Windows) client and connect to the ESP server on the VMware?

I think in about the same as the relation of HANA Studio with a HANA database: Develop and monitor the HDB via HANA Studio from a remote client.

Unfortunately I could not find up to now what I exactly would like to have: I do not want to use the ESP Studio deployed on the Linux server. I want to have my ESP installed on a Linux VMWare and access it from a remote Eclipse Studio running on a MS Windows 8.1 client. From there I want to create my ESP projects and monitor the loadings streams.

If this is possible, please provide me the link to this info, especially where to download the ESP perspectives and how to connect to the ESP. If this is definitely not possible, tell me also!

Thanks,

Ingo

Accepted Solutions (1)

Accepted Solutions (1)

JWootton
Advisor
Advisor
0 Kudos

Yes, this is not only possible, it's what most people do.

It's simple:  you just install ESP for Linux on your Linux VM and start the server.  Install ESP for Windows on your Windows machine, start the ESP Studio, and then in the run/test perspective add a connection to the ESP server on the Linux VM.

Now if you want to do this for HANA smart data streaming (SDS), rather than ESP, it's slightly different, because SDS has three different download packages.  So you can download the SDS studio package and install it as a plugin ot HANA Studio (or Eclipse) on your local Windows PC.  But then adding the conneciton to the remote SDS (or ESP) server is the same

i033659
Advisor
Advisor
0 Kudos

Hi Jeff,

Thanks for the info, however there are still some open questions: Up to now I installed the ESP on a Linux VM, I started the cluster DB 'esp1' and a node 'node1' and the server there as it is described in the admin guide. In addition I installed locally on my client only the ESP Studio (with the custom option).

The following questions remain:

1) Connection from the local ESP studio to the ESP server on Linux VM: This works only, if I started the ESP studio on the Linux VM first (./streamingstudio) and changed the password for the user 'studio' there. Then I can connect from the ESP studio on my local client. As soon as I stop the ESP studio on the Linux VM, the  connection  to the server from my local workstation breaks. I think I also that I have to change the password again and again after restarting the ESP studio on the Linux VM.

2) How can I tell a project which is created in the ESP Studio on my local client on which ESP Server it should run already when I create it? I tried to start with some examples, but e.g. schema discovery throws an error like it cannot find the local discovery service: I think this is clear, because locally I have not installed the ESP server and the project does not yet know where the server to be used is located.

Thanks again,

Ingo

JWootton
Advisor
Advisor
0 Kudos

Ingo,

It sounds like the issue is that you're running two different servers on  your Linux server (and then 3 if you count your local studio).  Let me explain:

When you run ESP studio,  it will automatically start a local ESP "sandbox" server for convenience in testing.  This will show up in the Server View in the ESP Studio run/test perspective as:  esp://localhost:9786.  Now this server is not intended to be a full-use esp server.  Think of it as a sandbox for testing from the Studio.  It's possible to have other things connect to it by changing the password - but we don't recommend it. 

When you start a "proper" ESP server on your Linux VM, you do that from the command line, first staring the cluster database and then the cluster node(s).  This ESP server will be entirely independent of any ESP Studio instance.  And in fact,  there shouldn't be any reason to even run the Studio on this machine.

Now, in your local ESP Studio,  add a connection to the ESP server on your Linux VM:  in the Server View in the Run Test perspective, select "New Server URL" and enter the host name and port for your ESP server.  The default port is 19011 (unless you changed it at install, or changed the configuration of "node1").  This will now show up in your local studio Server View as esps://<hostname>:19011.

Now edit your local Studio preferences and change the Defult Server URL to use the remote server instead of the local sandbox.

And when you run the project from the studio,  rather than just clicking the run button,  grab the little drop down arrow on the right of the run button to explicitly tell it where to run the project.  You should have a choice of the local (sandbox) or your remote server.

Jeff

i033659
Advisor
Advisor
0 Kudos

Hi Jeff,

Thanks!

Which user has to be used for access from the remote studio?

I added the new server URL with authentication user/Password.

But which user is it actually? In fact I have the OS users on Linux and the cluster DB user I chose during installation. None of them works. Are there any other users?

Meanwhile there is one more observation: I found a user SYS_STREAMING: For this user the connection from the remote ESP studio and the ESP Cockpit seem to work.

For my other Linux user espadm my access trials throw the following messages:

1) ESP Studio: "Authentication failure. Invalid Login credentials"

2) ESP Cockpit: "Login failed as no roles are retrieved for the user espadm" (in the file node1.log). The user espadm has been granted all permissions with the streemingclusteradmin tool.

So what is still missing with user espadm?

Regards,

Ingo

JWootton
Advisor
Advisor
0 Kudos

There are 2 separate parts of the security framework:

- authentication

- authorization

In general, ESP does not do authentication.  You will have configured your ESP cluster for a type of authentication - e.g. OS,  Kerberos, RSA.  ESP uses an external authentication system to authenticate users.

SYS_STREAMING is a "special" user that does not have to be set up in an external authentication system.  It is possible to add other pre-defined users to the ESP cluster configuration, but typically you wouldn't do this and rather would add users to the OS or other authentication system you are using.

The second part is that the user, once authenticated,  needs to have sufficient privileges on the ESP cluster to do what they are trying to do.  This is done via the ESP authorization policies.  You use the streamingclusteradmin tool to grant (and view/modify) privilegges.

So,  when you install ESP,  the SYS_STREAMING user is created to let you get started and you can login as the user to grant privileges to other users.  But if you are using OS authentication,  those users need to be users defined on the Linux server where ESP is running.

Coming back to your local studio, connecting to a remote ESP server:

- when you add the connection to the remote ESP server, you need to provide credentials for a user that will (a) authenticate on that server, and (b) has been granted sufficient privileges on the ESP server.  So you could connect at SYS_STREAMING, or you could connect as another user that will authenticate on the Linux server where ESP is running, and that has been granted ESP privileges using the streaming cluster admin tool

As for your user espadmin:

- what authentication system are you using?  If OS, then has this user been defined on the Linux server?

- and have you granted privileges to espadmin?  (grant perm all to user espadmin)

One final note:  in the future, please post technical questions and troubleshooting questions to the Streamign Developer Center: http://scn.sap.com/community/developer-center/streaming.  This space is really intended for business-level discussions around use cases, things like that.  This space is not monitored by the ESP or SDS tech support teams,  where the developer center is.

Answers (0)