Problem
You may see errors similar to the below when trying to implement the Posit Workbench job launcher feature:
ERROR Error in getUser request to launcher to see if server-user: rstudio-server is launcher admin using tcp: 127.0.0.1:5559; LOGGED FROM: rstudio::server::job_launcher::{anonymous}::ensureServerUserIsLauncherAdmin()
ERROR system error 111 (Connection refused);
On the user interface, you might see something like this:
Solution
This error typically occurs when the server-user value in /etc/rstudio/launcher.conf doesn't have the appropriate permission to start launcher jobs on your specified launcher port.
For example; take the following /etc/rstudio/launcher.conf file:
==> /etc/rstudio/launcher.conf <==
[server]
address=127.0.0.1
port=5559
server-user=rstudio-server
admin-group=rstudio-server
In this case, we've specified the launcher address as 127.0.0.1, the launcher port as 5559, and the server-user as rstudio-server.
First, we need to ensure that our server is listening on this port. You can run the following command to see if there is an entry for this server:port specification:
netstat -tulpn | grep 5559
If you're running into this error, then you won't see any entries as below:
cecil@rsw:/# netstat -tulpn | grep 5559
cecil@rsw:/#
You can verify this by attempting to curl this URL:
cecil@rsw:/# curl -v 127.0.0.1:5559
* Trying 127.0.0.1:5559...
* TCP_NODELAY set
* connect to 127.0.0.1 port 5559 failed: Connection refused
* Failed to connect to 127.0.0.1 port 5559: Connection refused
* Closing connection 0
curl: (7) Failed to connect to 127.0.0.1 port 5559: Connection refused
From here, we will need to open port 5559 on our server in order to allow launcher sessions to be created. This will differ depending on your Linux distribution, so it would be worth reaching out to your relevant security & linux admins. However, you can use a command similar to the ones below depending on your OS:
For Ubuntu Users and ufw
-based Systems
sudo ufw allow 5559
For CentOS and firewalld
-based Systems
firewall-cmd --add-port=5559/tcp
We can now re-run out netstat command and you should see something like this:
cecil@rsw:/# netstat -tulpn | grep 5559
tcp 0 0 127.0.0.1:5559 0.0.0.0:* LISTEN 131058/rstudio-laun
We can verify connectivity by attempting to curl the URL again:
cecil@rsw:/# curl -v 127.0.0.1:5559
* Trying 127.0.0.1:5559...
* TCP_NODELAY set
* Connected to 127.0.0.1 (127.0.0.1) port 5559 (#0)
> GET / HTTP/1.1
> Host: 127.0.0.1:5559
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 404 Not Found
< Date: Mon, 13 Feb 2023 05:02:45 GMT
< Connection: close
< X-Content-Type-Options: nosniff
< Server: RStudio Job Launcher
< Content-Length: 0
<
* Closing connection 0
You'll notice that you are now able to successfully curl the localhost on port 5559. This means you will now be able to launch sessions on the launcher port that you have specified.
Support Ticket
If you still have issues after completing the above, you can always lodge a support ticket, where our group of friendly, and incredibly knowledgeable staff can assist with any issues that you may be having. You can submit a ticket here:
https://support.posit.co/hc/en-us/requests/new
Comments