Resilent Business Intelligence.
- Survives multiple node failures, recovery mechanisms are integrated.
- No need for complex cluster management (e.g., Kubernetes).
- Security by default, data in transit encryption.
- Maintenance without downtime.
- Implements caching and parallel job execution for enhanced performance.
Follow ARCHITECTURE.md for more.
- Images are built and tested specifically for
Ubuntu 22.04 x86_64Linux platforms shipped withPython v3.10.12. - Both
sshanddockerservices must be enabled by default on the nodes. - Nodes must be able to resolve DNS names among themselves and communicate freely over the internal network,
only port
443should be exposed on the management nodes. - The user's host must be able to connect to each of the nodes via SSH passwordlessly.
- Ability to read/write to the
/optdirectory on the nodes. - At least one available and running network interface must be capable of sending and receiving packets between the user's host and management nodes via IPv4, IPv6 should be disabled or configured to be non-routable by default.
The following software needs to be installed on the user's host:
python v3.10.12with the following third party packages:paramiko v3.5.0
The following software needs to be installed on the external nodes:
ca-certificates v20230311ubuntu0.22.04.1containerd.io v1.6.31-1curl v7.81.0-1ubuntu1.16docker-buildx-plugin v0.14.0-1~ubuntu.22.04~jammydocker-ce v5:26.1.0-1~ubuntu.22.04~jammydocker-ce-cli v5:26.1.0-1~ubuntu.22.04~jammyopenssh-server v1:8.9p1-3ubuntu0.10python v3.10.12with the following third party packages:docker v7.1.0
To set up superset cluster with two management nodes and three MySQL nodes,
run ./superset-cluster with the virtual IP address configured for the
specified available network interface. Use the following command as an example,
including the appropriate subnet mask for the default gateway:
./superset-cluster \
--mgmt-nodes node1,node2 \
--mysql-nodes node3,node4,node5 \
--virtual-ip-address 192.168.1.100 \
--virtual-network-interface eth0 \
--virtual-network-mask 24For more information, run ./superset-cluster --help.
Navigate to https://<virtual-ip-address> in your web browser. Use the default credentials to log in:
- Username:
superset - Password:
cluster
Remember to change the default credentials after successfully logging in by going to Settings > Info > Reset My Password.
Set up the Terraform testing infrastructure for development, by navigating to the ./tests/setup directory and running:
terraform init
terraform applyOnce the infrastructure is up and running, you can use the Usage command against it:
./superset-cluster \
--mgmt-nodes node-0,node-1 \
--mysql-nodes node-2,node-3,node-4 \
--virtual-ip-address 172.18.0.10 \
--virtual-network-interface eth0 \
--virtual-network-mask 16For more detailed information, please refer to the testing guide.
If you notice anything missing, spot a bug, or have an enhancement proposal, feel free to open an issue with the appropriate label. Pull requests are welcome. Please ensure that the tests are updated as necessary.
In case of any inquiries, please write an email to: wjmaj98@gmail.com
