Я создал образ докера hbase (встроенный zookeeper).
Также я создал образ докера моего приложения (базовый образ: tomcat).
С помощью docker-compose я запустил два контейнера (my_app, hbase)
Работает нормально.
Но когда я попытался запустить контейнер (hbase) в докере и запустить my_app из локальной системы с помощью tomcat. my_app получает исключение повторного вызова,
Call exception, tries=10, retries=35, started=38358 ms ago, cancelled=false, msg=row 'ApplicationIndex,,99999999999999' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=da996582a9e5,39095,1525328219005, seqNum=0
Call exception, tries=10, retries=35, started=38358 ms ago, cancelled=false, msg=row 'ApplicationIndex,,99999999999999' on table 'hbase:meta' at region=hbase:meta,,1.1588230740, hostname=da996582a9e5,39095,1525328219005, seqNum=0
Не думаю, что есть проблема с файлом docker-compose или моим файлом hbase-site.xml, поскольку все нормально, когда my_app работает внутри докера.
Я предполагаю, что (поскольку регион и имя хоста существуют в журнале my_app (см. Выше), а zookeeper (встроенный в hbase) отвечает при запуске my_app), проблем с подключением к zookeeper и hbase из my_app не возникает. Но есть проблема при ответе hbase на my_app.
Кто-нибудь знает, как это решить?
Файл docker-compose, как показано ниже.
hbase:
build:
context: .
dockerfile: Dockerfile
args:
- HBASE_VERSION=${HBASE_VERSION}
container_name: ${HBASE_NAME}
networks:
- networks
expose:
# zookeeper
- "2181"
# HBase Master API port
- "60000"
# HBase Master Web UI
- "16010"
# Regionserver API port
- "60020"
# HBase Regionserver web UI
- "16030"
ports:
- 2180:2181
- 60000:60000
- 16010:16010
- 60020:60020
- 16030:16030