ECL IDE for MacOS X
Hi,
I want to use an ECL IDE for MacOS X and hence tried to you the VSCode plugin but I am having difficulties configuring ECL on that. Hence, can anyone suggest how I can code ECL on MacOS and set up an environment to be able to run the ECL code on the cluster as well?
Thank you.
I want to use an ECL IDE for MacOS X and hence tried to you the VSCode plugin but I am having difficulties configuring ECL on that. Hence, can anyone suggest how I can code ECL on MacOS and set up an environment to be able to run the ECL code on the cluster as well?
Thank you.
- vedant_dulori
- Posts: 10
- Joined: Fri Feb 14, 2020 6:34 pm
It is not clear how far you've gotten in your set up, so I will start at the beginning.
A good set of instructions for installing VS Code and the HPCC client tools can be found at https://wiki.hpccsystems.com/display/hpcc/VS+Code+and+HPCC+Systems+Installation+Cheat+Sheet. You may have already done this part.
The only remaining bit is configuring a VS Code launch.json file for ECL. Given the way VS Code works, you will need one launch.json entry for every cluster you connect to. Here is an example:
The really important entries in that JSON object are:
One important thing to remember is that VS Code selects valid launch.json entries based on filename extension. All of your code file names need to have a '.ecl' extension in order to be recognized as ECL.
Hope this helps!
DSC
A good set of instructions for installing VS Code and the HPCC client tools can be found at https://wiki.hpccsystems.com/display/hpcc/VS+Code+and+HPCC+Systems+Installation+Cheat+Sheet. You may have already done this part.
The only remaining bit is configuring a VS Code launch.json file for ECL. Given the way VS Code works, you will need one launch.json entry for every cluster you connect to. Here is an example:
- Code: Select all
{
"name": "My-HPCC-Cluster",
"type": "ecl",
"request": "launch",
"mode": "submit",
"workspace": "${workspaceRoot}",
"program": "${file}",
"protocol": "http",
"serverAddress": "example.com",
"port": 8010,
"rejectUnauthorized": false,
"targetCluster": "thor",
"eclccPath": "${config:ecl.eclccPath}",
"eclccArgs": [],
"includeFolders": "${config:ecl.includeFolders}",
"legacyMode": "${config:ecl.legacyMode}",
"resultLimit": 100,
"user": "DSC",
"password": ""
}
The really important entries in that JSON object are:
- name: Your name for the cluster; must be unique within the launch.json file
- serverAddress: The URL for the ECL Watch page of your cluster
- targetCluster: Which HPCC engine to target (thor, hthor, or roxie)
- user: This is not required if you don't authenticate, but this entry is used to mark submitted jobs with an "owner" that you can see in ECL Watch; if you have multiple users, this makes it easier to see who owns which jobs
One important thing to remember is that VS Code selects valid launch.json entries based on filename extension. All of your code file names need to have a '.ecl' extension in order to be recognized as ECL.
Hope this helps!
DSC
- DSC
- Community Advisory Board Member
- Posts: 571
- Joined: Tue Oct 18, 2011 4:45 pm
Hi,
Thanks a lot for the instructions. However, the difficulties I am facing are connecting to the cluster and this is because currently, I am accessing ECL Watch via a proxy server. I am starting a proxy on my laptop (eg, `ssh -ND <pass-thru-proxy>`). Then by configuring a browser to use this proxy via SOCKS, I am able to access the ECL Watch.
The problem is I want to develop it on my laptop. I do not know how to use ECL client tools via the pass-through. I wanted to know ways to redirect through ECL as, I think without the ability to run ECL commands locally, the IDE is quite handicapped.
I have come across SSH tunneling to do so but have minimal knowledge in doing so. It would be great if you can suggest ways to solve this problem.
Thanks a lot for the instructions. However, the difficulties I am facing are connecting to the cluster and this is because currently, I am accessing ECL Watch via a proxy server. I am starting a proxy on my laptop (eg, `ssh -ND <pass-thru-proxy>`). Then by configuring a browser to use this proxy via SOCKS, I am able to access the ECL Watch.
The problem is I want to develop it on my laptop. I do not know how to use ECL client tools via the pass-through. I wanted to know ways to redirect through ECL as, I think without the ability to run ECL commands locally, the IDE is quite handicapped.
I have come across SSH tunneling to do so but have minimal knowledge in doing so. It would be great if you can suggest ways to solve this problem.
- vedant_dulori
- Posts: 10
- Joined: Fri Feb 14, 2020 6:34 pm
The ECL client tools do not support proxy connections the way browsers support them. The only proxy configuration that you could use would be more like tunneling, where you set up a proxy/tunnel on a system that forwards connections to port 8010 (or whatever port you're using) to the HPCC cluster, then configure your local system to connect to the proxy system on that port. This kind of setup is useful for getting past a firewall that does not allow outbound connections to 8010 but does on a different port, the proxy maps inbound connections to a different outbound port, provided the proxy system lies outside of the firewall. That "proxy system" can be your local laptop, but that probably doesn't help in this case.
Some more information on port forwarding can be found at https://www.ssh.com/ssh/tunneling/example if you're interested in exploring that setup.
Some more information on port forwarding can be found at https://www.ssh.com/ssh/tunneling/example if you're interested in exploring that setup.
- DSC
- Community Advisory Board Member
- Posts: 571
- Joined: Tue Oct 18, 2011 4:45 pm
Hey
Thanks for the reply. I am trying to tunnel ssh from your laptop through the VM then to the HPCC cluster and as I don't have much knowledge in networking I am facing a lot of difficulties. It would be great if you could give step by step instructions on how I can fix this issue
Thanks!
Thanks for the reply. I am trying to tunnel ssh from your laptop through the VM then to the HPCC cluster and as I don't have much knowledge in networking I am facing a lot of difficulties. It would be great if you could give step by step instructions on how I can fix this issue
Thanks!
- vedant_dulori
- Posts: 10
- Joined: Fri Feb 14, 2020 6:34 pm
In the link Richard provide, here is an example:
ssh -L 8010:<hpcc cluster ip>:8010 <your local system ip>
After this you can use localhost:8010 for hpcc cluster eclwatch
ssh -L 8010:<hpcc cluster ip>:8010 <your local system ip>
After this you can use localhost:8010 for hpcc cluster eclwatch
- ming
- Posts: 32
- Joined: Wed Dec 18, 2013 12:38 pm
Yeah, the HPCC cluster is in a VM. Also, which IP does local system IP mean?
- vedant_dulori
- Posts: 10
- Joined: Fri Feb 14, 2020 6:34 pm
By default HPCC Platform on VM use the second adapter: eth1 which probably is host-only adapter. The ip is 192.168.x.x. If you can ping this from your host you can use it in ECL IDE or VS Code. If you are on VPN you host may not see this private ip. You have other options, for example,
1) use bridge network instead of host-only for eth1
2) use NAT which is eth0 and "Port Forwarding" from VirtualBox Adapter1 Advanced. In this case you do need change eth1 to eth0 in /etc/HPCCSystems/environment.cfg inside VM and restart HPCC Platform: sudo /etc/init.d/hpcc-init restart
These two method also will help if your IDE/VS Code on a different system than VM
1) use bridge network instead of host-only for eth1
2) use NAT which is eth0 and "Port Forwarding" from VirtualBox Adapter1 Advanced. In this case you do need change eth1 to eth0 in /etc/HPCCSystems/environment.cfg inside VM and restart HPCC Platform: sudo /etc/init.d/hpcc-init restart
These two method also will help if your IDE/VS Code on a different system than VM
- ming
- Posts: 32
- Joined: Wed Dec 18, 2013 12:38 pm
9 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 1 guest