Hi Datahub friends! Has anyone gotten the deployme...
# all-things-deployment
q
Hi Datahub friends! Has anyone gotten the deployment working on AWS ECS? We’re trying to deploy on ECS (
bridge
network mode) with 1 service and 1 task definition with multiple containers, and currently running into a problem where the containers are not able to communicate with each other via hostname (i.e.
zookeeper:2181
). Since then we’ve tried using
awsvpc
network mode and changed all the hostnames to
localhost
, and while that solved the connectivity problems, there were further issues spinning up
datahub-gms
and overall not sure if this is the right path forward. Please let me know, thank you!
e
From the error message seems like the port is taken?
By setting all the URL env variables on the containers to point to your new URL, you should be able to rewire all connectors to talk via localhost
q
@early-lamp-41924 Thanks for the reply! 1. I tried to run
netstat -nlp | grep 8080
on the EC2 instance but the only thing that returns is 18080 2. Do you see any long-term inconveniences of using the localhost method? Recipe, metadata ingestion, internal workings of Datahub, etc.? Thanks!
e
Hmn I am not sure why it is failing to bind. Nothing on datahub side I believe.
I think it is mainly that you need to keep track of your pointers and if we add any more connections in the future you will need to update those as well. Other than that, I don’t see any concerns.
q
Thanks @early-lamp-41924, good to know there are no long term concerns on setting it up with the localhost method. Also, sharing that port 8080 wasn’t binding due to Zookeeper admin server starting on 8080 by default.
e
Glad you found the issue!!
b
@quick-animal-47381, can you share the docker-compose and steps that you used to deploy on ECS ?
q
Hi Shweta, we’re checking with Acryl Data in terms of potentially starting some docs as a contribution, but key takeaways so far: 1. There are some transient setup containers, be sure to mark them as non-essential 2. Had to run this init script manually 3. Default zookeeper webserver port conflicts with GMS
b
@quick-animal-47381, would it be possible to share the docker-compose to share the details on which containers are minimal to run the datahub ?
q
This is the one I based off. We have datahub-gms, datahub-frontend-react, schema-registry, broker, and zookeeper and AWS RDS/OpenSearch for the managed services.
thank you 1
a
Also, sharing that port 8080 wasn’t binding due to Zookeeper admin server starting on 8080 by default.
@quick-animal-47381 How did you manage to resolve the conflicting ports when running on ECS? Does it require building the source with the changed ports?
q
If I recall, I believe there is a config/parameter that can be used to disable the Zookeeper webserver. CC @green-lion-58215 here as well for more up to date info.
g
we used port mapping to specify an alternate port
a
I was able to disable the zookeeper admin server (port 8080) with the following env variable in the zookeeper contain:
Copy code
KAFKA_OPTS=-Dzookeeper.admin.enableServer=false