2. Getting Started With Kyuubi on kubernetes¶
2.1. Running kyuubi with helm¶
Helm is the package manager for Kubernetes,it can be used to find, share, and use software built for Kubernetes.
2.1.1. Get helm and Install¶
Please go to Install Helm page to get and install an appropriate release version for yourself.
2.1.2. Get Kyuubi Started¶
[Optional] Create namespace on kubernetes¶
cretate ns kyuubi
Get kyuubi started¶
helm install kyuubi-helm ${KYUUBI_HOME}/docker/helm -n ${namespace_name}
It will print variables and the way to get kyuubi expose ip and port.
NAME: kyuubi-helm
LAST DEPLOYED: Wed Oct 20 15:22:47 2021
NAMESPACE: kyuubi
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Get kyuubi expose URL by running these commands:
export NODE_PORT=$(kubectl get --namespace kyuubi -o jsonpath="{.spec.ports[0].nodePort}" services kyuubi-helm-nodeport)
export NODE_IP=$(kubectl get nodes --namespace kyuubi -o jsonpath="{.items[0].status.addresses[0].address}")
echo $NODE_IP:$NODE_PORT
Using hive beeline¶
Using Hive Beeline to opening a connection.
Remove kyuubi¶
helm uninstall kyuubi-helm -n ${namespace_name}
Edit server config¶
Modify values.yaml
under ${KYUUBI_HOME}/docker/helm
:
# Kyuubi server numbers
replicaCount: 2
image:
repository: apache/kyuubi
pullPolicy: Always
# Overrides the image tag whose default is the chart appVersion.
tag: "master-snapshot"
server:
bind:
host: 0.0.0.0
port: 10009
conf:
mountPath: /opt/kyuubi/conf
service:
type: NodePort
# The default port limit of kubernetes is 30000-32767
# to change:
# vim kube-apiserver.yaml (usually under path: /etc/kubernetes/manifests/)
# add or change line 'service-node-port-range=1-32767' under kube-apiserver
port: 30009
Get server log¶
List all server pods:
kubectl get po -n ${namespace_name}
The server pods will print:
NAME READY STATUS RESTARTS AGE
kyuubi-server-585d8944c5-m7j5s 1/1 Running 0 30m
kyuubi-server-32sdsa1245-2d2sj 1/1 Running 0 30m
then, use pod name to get logs:
kubectl -n ${namespace_name} logs kyuubi-server-585d8944c5-m7j5s