Closed natalieklein229 closed 3 years ago
Julia Client: Connect External Process
should be available in the command palette (Ctrl-Shift-P) when julia-client is installed.
The one tricky thing about the local machine -> login node -> compute node chain is that you need to forward the port at both stages, but apart from that things should just work™.
Thank you. So I think I'm forwarding ports correctly -- I'm using the same ssh command that coworkers have used for running jupyter notebooks on the compute nodes and viewing locally in a browser. I am able to use the ssh command to connect to the compute node without any errors. However, I still keep getting connection refused errors from Juno.connect (example below). Anything else I should try or check? (I tried with both julia 1.4.2 and 1.5.0 on the server, did not make a difference.)
ERROR: IOError: connect: connection refused (ECONNREFUSED)
Stacktrace:
[1] wait_connected(::Sockets.TCPSocket) at julia/stdlib/v1.4/Sockets/src/Sockets.jl:520
[2] connect at julia/stdlib/v1.4/Sockets/src/Sockets.jl:555 [inlined]
[3] connect at julia/stdlib/v1.4/Sockets/src/Sockets.jl:541 [inlined]
[4] connect(::Sockets.IPv4, ::Int64; kws::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at .julia/packages/Atom/BPtI0/src/comm.jl:111
[5] connect at .julia/packages/Atom/BPtI0/src/comm.jl:111 [inlined]
[6] #connect#34 at .julia/packages/Atom/BPtI0/src/comm.jl:121 [inlined]
[7] connect(::Int64) at .julia/packages/Atom/BPtI0/src/comm.jl:121
[8] top-level scope at REPL[4]:1
[9] eval at ./boot.jl:331 [inlined]
[10] eval at .julia/packages/Juno/n6wyj/src/Juno.jl:1 [inlined]
[11] connect(::Int64; kws::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}) at .julia/packages/Juno/n6wyj/src/user.jl:44
[12] connect(::Int64) at .julia/packages/Juno/n6wyj/src/user.jl:43
[13] top-level scope at REPL[4]:1
Hm. How exactly are you ssh'ing to the remote?
For reference, the following works fine for me:
λ ssh antarctic.juliacomputing.io -R 32785:localhost:32785
pfitzseb@antarctic:~$ ssh arctic3.juliacomputing.io -R 32785:localhost:32785
pfitzseb@arctic3:~$ ~/julia-1.6.0/bin/julia
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.6.0 (2021-03-24)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
julia> using Atom; using Juno; Juno.connect(32785)
julia>
Proxy-Jumping also works fine for me, FWIW.
Doh... The jupyter instructions used ssh -L, but I just replaced to ssh -R and it works now! Thanks for your help.
Hi,
I'm trying to follow instructions at http://docs.junolab.org/latest/man/remote/#Manual-port-forwarding-1, and have looked through other issues here and elsewhere online to try to find help, but I can't seem to get it to work nor find anyone describing exactly this scenario. For starters, what is the "Julia Client: Connect External Process" command referenced in the link? I have Atom Version 1.55.0 and don't see that command anywhere.
For more context: I'm trying to use Atom/Juno on my local machine, but run julia on a server compute node after getting a node via slurm. (Using the simple instructions at the top of the link, I can use Juno remotely on the front end node of the server, but that's not going to be usable.) From what I gather, I need to do port forwarding, but I'm getting lost in the details. I know how to tunnel from the front end node to a selected compute node, but can't seem to get Juno to connect through that. Thanks for any help.