#docker #hadoop #docker-compose
#docker #hadoop #docker-compose
Вопрос:
Я новичок и учусь запускать систему hadoop с помощью Docker, но я застрял в одной точке на несколько недель, и, наконец, я должен спросить здесь. Я мог запускать контейнеры по отдельности без каких-либо проблем, и namenode всегда распознавал запущенные namenodes. Однако, когда я попытался настроить файл Docker-compose.yml для одновременного запуска всех контейнеров, я столкнулся с несколькими проблемами, одна из которых заключается в том, что namenode никогда не распознавал запущенные datanodes. У вас есть какие-либо предложения, чтобы помочь мне это исправить?
Вот мой файл docker-compose:
version: "3"
services:
base:
image: hpcnube-base-image
hpcnube-namenode:
image: hpcnube-namenode-image
depends_on:
- base
hostname: hpcnube-namenode
container_name: hpcnube-namenode
networks:
- dockerfiles1_hpcnube-net
ports:
- "9870:9870"
hpcnube-resourcemanager:
image: hpcnube-resourcemanager-image
container_name: hpcnube-resourcemanager
depends_on:
- hpcnube-namenode
- hpcnube-dnnm2
- hpcnube-dnnm1
hostname: hpcnube-resourcemanager
networks:
- dockerfiles1_hpcnube-net
ports:
- "8088:8088"
hpcnube-dnnm1:
image: hpcnube-dnnm-image
container_name: hpcnube-dnnm1
hostname: hpcnube-dnnm1
depends_on:
- base
- hpcnube-namenode
networks:
- dockerfiles1_hpcnube-net
#command: "/opt/bd/start-daemons.sh"
hpcnube-dnnm2:
#build: ./DataNode-NodeManager
image: hpcnube-dnnm-image
container_name: hpcnube-dnnm2
hostname: hpcnube-dnnm2
depends_on:
- base
- hpcnube-namenode
networks:
- dockerfiles1_hpcnube-net
#command: "/opt/bd/start-daemons.sh"
hpcnube-checkpoint:
image: hpcnube-checkpointnode-image
hostname: hpcnube-checkpointnode
depends_on:
- base
- hpcnube-namenode
- hpcnube-resourcemanager
- hpcnube-dnnm2
- hpcnube-dnnm1
networks:
- dockerfiles1_hpcnube-net
hpcnube-timeline:
image: hpcnube-timelineserver-image
hostname: hpcnube-timelineserver
depends_on:
- base
- hpcnube-namenode
- hpcnube-resourcemanager
- hpcnube-dnnm2
- hpcnube-dnnm1
- hpcnube-checkpoint
networks:
- dockerfiles1_hpcnube-net
hpcnube-frontend:
build: ./FrontEnd
hostname: hpcnube-frontend
depends_on:
- base
- hpcnube-namenode
- hpcnube-resourcemanager
- hpcnube-dnnm2
- hpcnube-dnnm1
- hpcnube-checkpoint
- hpcnube-timeline
hostname: hpcnube-frontend
networks:
- dockerfiles1_hpcnube-net
ports:
- "2345:22"
networks:
dockerfiles1_hpcnube-net:
driver: bridge
Комментарии:
1. @Ян В., ваши контейнеры находятся на разных физических хостах? потому что, если они это сделают, вы не сможете использовать bridge network. Фактически, мостовая сеть предназначена для нескольких контейнеров на одном хосте.
2. @M_Gh Нет, все мои контейнеры находятся на одном компьютере. Я действительно не знаю, что не так.
3. @Ян В., пожалуйста, взгляните на это ( ordina-jworks.github.io/docker/2018/09/24 /… ). Вы можете легко создать сеть с помощью Weave.