This page applies to Feast 0.7. The content may be out of date for Feast 0.8+
If at any point in time you cannot resolve a problem, please see the Community section for reaching out to the Feast community.
The containers should be in an up
state:
docker ps
All services should either be in a RUNNING
state or COMPLETED
state:
kubectl get pods
First locate the the host and port of the Feast Services.
You will probably need to connect using the hostnames of services and standard Feast ports:
export FEAST_CORE_URL=core:6565export FEAST_ONLINE_SERVING_URL=online_serving:6566export FEAST_HISTORICAL_SERVING_URL=historical_serving:6567export FEAST_JOBCONTROLLER_URL=jobcontroller:6570
You will probably need to connect using localhost
and standard ports:
export FEAST_CORE_URL=localhost:6565export FEAST_ONLINE_SERVING_URL=localhost:6566export FEAST_HISTORICAL_SERVING_URL=localhost:6567export FEAST_JOBCONTROLLER_URL=localhost:6570
You will need to find the external IP of one of the nodes as well as the NodePorts. Please make sure that your firewall is open for these ports:
export FEAST_IP=$(kubectl describe nodes | grep ExternalIP | awk '{print $2}' | head -n 1)export FEAST_CORE_URL=${FEAST_IP}:32090export FEAST_ONLINE_SERVING_URL=${FEAST_IP}:32091export FEAST_HISTORICAL_SERVING_URL=${FEAST_IP}:32092
netcat
, telnet
, or even curl
can be used to test whether all services are available and ports are open, but grpc_cli
is the most powerful. It can be installed from here.
Use grpc_cli
to test connetivity by listing the gRPC methods exposed by Feast services:
grpc_cli ls ${FEAST_CORE_URL} feast.core.CoreService
grpc_cli ls ${FEAST_JOBCONTROLLER_URL} feast.core.JobControllerService
grpc_cli ls ${FEAST_HISTORICAL_SERVING_URL} feast.serving.ServingService
grpc_cli ls ${FEAST_ONLINE_SERVING_URL} feast.serving.ServingService
Feast will typically have three services that you need to monitor if something goes wrong.
Feast Core
Feast Job Controller
Feast Serving (Online)
Feast Serving (Batch)
In order to print the logs from these services, please run the commands below.
Use docker-compose logs
to obtain Feast component logs:
docker logs -f feast_core_1
docker logs -f feast_jobcontroller_1
docker logs -f feast_historical_serving_1
docker logs -f feast_online_serving_1
Use kubectl logs
to obtain Feast component logs:
kubectl logs $(kubectl get pods | grep feast-core | awk '{print $1}')
kubectl logs $(kubectl get pods | grep feast-jobcontroller | awk '{print $1}')
kubectl logs $(kubectl get pods | grep feast-serving-batch | awk '{print $1}')
kubectl logs $(kubectl get pods | grep feast-serving-online | awk '{print $1}')