I cheated. I’m running Cassandra 3.11 in docker containers. The shell (
cqlsh) is a Python script that runs fine in docker, if you can figure out how:
docker run --name cqlsh -it --network cass-net --rm cassandra cqlsh $1
I want cross-VM access, so I need to run it outside of docker. I haven’t figured out how to give Virtual Box VMs DNS names, so I used IPs. I just guessed based on sanity in the mass of docker-added interfaces in the
ifconfig output. I guessed right. So far, this is going well.
I install of all Cassandra 3.11 to get the shell. It doesn’t work. I grab just the Python bits. It doesn’t work. I read the Intertubes, finding my error: It needs Python 2.7 and I have 3.6 installed. I read about side-by-side installations and install 2.7. No joy.
alternatives doesn’t seem to work. I take a deep breath and edit the script, changing all the “python” references to “python2”. And now I’m back to the original error. More Intertubes searching. I upgrade the “six” library, whatever that is. “up to date” is the result – but is that that Python 2.7 version or the Python 3.6 library? Who knows?
pip3 seem to work with both, despite the implication inherent in their names. I hack the script library paths based on samples. No joy.
So, I change VMs and install Cassandra 4, which works with Python 3. Joy. That’s so totally cheating, but I’m not going to be running that Cassandra. The 3.11 version is still the one inside docker, so whatever.
Unrelated to that, I installed Pretty Zoo. It didn’t run. Digging around github revealed someone else with the same question – but no answer. I figured it out (it installs in totally weird place) and answered my first github question! ZooKeeper is rather boring, so being able to see into it is not terribly exciting, but I know the Zoo cluster is working – and I did it from a different VM.