How to use helper commands

  • ./bin/up
    • Launch components
  • ./bin/down
    • Delete resources created by ZooKage
  • ./bin/ssh [pod [container]]
    • Log in to the given pod or container
    • Without any arguments, you will ssh into client-node
  • ./bin/logs [pod]
    • View logs of the given pod
    • Without any arguments, you can fetch all logs of all containers
  • ./bin/kubectl
    • Alias of kubectl --namespace zookage

What commands are available on client-node

  • aws
  • beeline
  • gohdfs
  • hbase
  • hdfs
  • ozone
  • spark-shell
  • spark-sql
  • trino
  • yarn

Web UI

You can access various web UIs through a browser of your host machine. This feature is not stable and you may sometimes have to reboot Docker Desktop when the following ports are inaccessible.

Check current statuses of containers

You can list statuses of containers with ./bin/kubectl get pods.

$ ./bin/kubectl get pods
NAME                                READY   STATUS      RESTARTS   AGE
hdfs-datanode-0                     1/1     Running     0          7m19s
hdfs-datanode-1                     1/1     Running     0          7m19s
hdfs-datanode-2                     1/1     Running     0          7m19s
...

Attatch a remote debugger to a container

You can attatch a debugger from your host machine to a container using ./bin/kubectl port-forward {pod name} {local port}:{container port}.

For example, you can access port 8000 on client-node-0 via port 5005 on your host machine.

$ ./bin/kubectl port-forward client-node-0 5005:8000
Forwarding from 127.0.0.1:5005 -> 8000
Forwarding from [::1]:5005 -> 8000