Deploying Scylla in VirtualBox¶
Deploying Scylla in a VirtualBox instance can be a good start to test functionality and compatibility, and for local development and integration testing of applications using Scylla.
Please note: Deploying Scylla in VirtualBox is not recommended or supported for production. The performance benefits of Scylla may not be visible on VirtualBox.
- Download and install VirtualBox
- Download a RHEL or CentOS .iso file to your host node. Use version 7.x or later.
- Create a VirtualBox instance. Choose Linux, RHEL 64 bits.
- Define the instance to have at least 4GB of memory and 20GB of disk space.
- Attach and install the RHEL or CentOS 7.x ISO.
If you don’t have Internet connectivity from your VirtualBox instance, you will need to bring up a network interface.
Go to the network configuration directory
Check for ifcfg scripts available. They will be named with the name of the Ethernet interface. You’ll have one named
ifcfg-enp0s3, or similar.
Activate the connectivity, with
To make the connection permanent in the next boot, open the configuration file with your preferred editor and make sure the setting is:
Update the OS and install the
yum update yum install wget epel-release
Install the Scylla repo file. Available repo files are listed on the RPM repositories for Scylla page.
Install Scylla with:
yum install scylla
Connecting to Scylla within the VirtualBox instance is possible through the cqlsh tool running on the instance. Another, more convenient, way is to connect to the Scylla server from your Mac, Linux or Windows host machine. To enable such connectivity, please follow the next procedure.
Define forwarding ports in the NAT configuration in VirtualBox network settings: Check your network settings and define port forwarding as described below: Machine→ Settings → Network→ Port Forwarding
Set the forwarding ports for Scylla: 9042, 7000, 7001, 9180 and 7199
- Open the needed port settings for cqlsh connection in the firewall, using either
In CentOS 7 you can use the firewall-cmd utility.
firewall-cmd --zone=public --add-port=9042/tcp --permanent firewall-cmd --reload
Or, in other configurations, you can use the
iptables -I INPUT -p tcp --dport 9042 -j ACCEPT service iptables save
- Next we need to configure Scylla to listen to the right IP address. Scylla must be configured to use the IP address defined by the local DHCP server. Set the following settings in the
scylla.yamlfile, which can be found in the
listen_address: 10.0.2.15 rpc_address: 10.0.2.15
Start Scylla with
systemctl start scylla-server
- Open a shell on your host machine and connect to the Scylla server by connecting to the 127.0.0.1 (localhost) IP address.
Scyllas-MacBook-Pro:bin scylla$ ./cqlsh 127.0.0.1 Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 2.1.8 | CQL spec 3.2.0 | Native protocol v3] Use HELP for help. cqlsh>