Need Assistance with Setting Up ScyllaDB or Cassandra on Fly.io

Hello everyone,

I’ve been attempting to set up ScyllaDB on Fly.io using the following command:

fly deploy --image scylladb/scylla:latest

Unfortunately, I’m encountering a recurring error:

Scylla version 5.2.2-0.20230521.9dd70a58c3f9 with build-id d692f21f4fc0ee40fac88d4bdef5d4f0999127ba starting ...
command used: "/usr/bin/scylla --log-to-syslog 0 --log-to-stdout 1 --default-log-level info --network-stack posix --developer-mode=1 --overprovisioned --listen-address 2605:4c40:42:c3f1:0:11c8:67b4:1 172.19.132.66 --rpc-address 2605:4c40:42:c3f1:0:11c8:67b4:1 172.19.132.66 --seed-provider-parameters seeds=2605:4c40:42:c3f1:0:11c8:67b4:1 172.19.132.66 --alternator-address 2605:4c40:42:c3f1:0:11c8:67b4:1 172.19.132.66 --blocked-reactor-notify-ms 999999999"
error: too many positional options have been specified on the command line
Try --help.

This error suggests that too many positional options have been specified on the command line. Despite numerous attempts over the last couple of days, which also included creating my own Dockerfile, I’ve been unable to rectify this issue.

Has anyone here successfully set up ScyllaDB or Cassandra on Fly.io and can provide some guidance on this? Any insights or suggestions would be greatly appreciated.

Thank you.

2 Likes

Hello,

I haven’t however … if the cause is simply the command is too long (too many options), you could avoid that by using a scylla.yml file. I’m thinking if you specify all the flags/params in there, the command would not need to be so long :thinking:.

At least according to:

https://docs.scylladb.com/stable/operating-scylla/procedures/tips/best-practices-scylla-on-docker#overriding-scylla-yaml-with-a-master-file

Any that are specified on the command line would override those. So you have the choice. Can’t hurt to try.

1 Like

Good idea, I need some clarification on how to pass additional arguments to the fly deploy command. Here’s what I’m currently working with:

fly deploy --image scylladb/scylla:latest

My main challenge is figuring out how to incorporate the --volume argument within this command.

If I can figure that out, I could pass the --listen-address and other required parameters too.

Hi,

Maybe using flyctl machine run <image> [command] [flags] :thinking:

I haven’t tried (so this is totally made up!) but if you can override the command … perhaps you could run an image with bonus flags like this:

flyctl machine run scylladb/scylla:latest --app my-app --entrypoint "/usr/bin/scylla --log-to-syslog 0 --something else "

If not … the other way would be with a Dockerfile, since if you can override the CMD I can’t see why that wouldn’t be possible in there.

1 Like

Great suggestion, I made a lot of progress using that approach.

fly machine run scylladb/scylla:latest --app scylla-dev --entrypoint "/usr/bin/scylla --log-to-syslog 0 --options-file /etc/scylla/scylla.yaml --smp 1 --developer-mode=1 --blocked-reactor-notify-ms 999999999 --listen-address 0.0.0.0" --memory 2048 --cpus 2 --region atl --port 9042 --port 9160

Starts the docker image as expected and awaits connections. An issue I’m running into now is actually connecting, I assigned a ipv4 address to the machine and when I connect from my localhost, the following is printed to console:

2023-06-10T16:49:22.653 proxy[32874430c76485] atl [error] instance refused connection. is your app listening on 0.0.0.0:9042? make sure it is not only listening on 127.0.0.1 (hint: look at your startup logs, servers often print the address they are listening on)

I’ve even tried fly proxy 9042:9042 --app scylla-dev but when connecting from localhost times out w/ no console logs.

Any idea?

Hmm :thinking:

Given that error message, a few random things you could try. Once again: total guesses!

  1. Try changing 0.0.0.0 to :: Fly uses IPv6 internally and so I wonder if your local machine can connect to the proxy, but maybe it can’t connect to the app. Shouldn’t be the case but can’t hurt.
  2. I’ve seen commands where they use e.g --port 9042:9042. Should be equivalent, but hey, can’t hurt.
  3. If those don’t help … there is an open issue which sounds like it may be related. May well not be. But might be worth taking a read through: Unable to connect to Scylla via port 9042 (and others) on Docker overlay network, and the issue seems to be specific to Scylla. · Issue #4413 · scylladb/scylladb · GitHub

Could really do with someone that has got it working :slightly_smiling_face:

I couldn’t get it working, thanks for your help though. I’ll setup a ScyllaDB cluster on AWS using Nomad.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.