HBase при поддержке S3 на Kubernetes - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь настроить HBase, поддерживаемый S3 на K8s, как Po C, и уже 2 дня ломаю голову над этой проблемой.

До сих пор мне удалось настроить пакет с ZK, Hbase master, Hbase regionserver, Hbase rest и сервисами Hbase в контейнере; все они запускаются Supervisord.

Все работает нормально при первом запуске (когда корзина S3 пуста). Однако если по какой-либо причине происходит сбой модуля или он перезапускается, мастер не может инициализироваться после перезапуска и находится в состоянии сбоя. Он продолжает перезапускаться с ошибкой Caused by: java.io.IOException: Timedout 300000ms waiting for namespace table to be assigned and enabled: tableName=hbase:namespace, state=ENABLED через каждые 3 минуты, и любые команды в оболочке Hbase приводят к:



ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
    at org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:2989)
    at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1964)
    at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:636)
    at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)
    at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413)
    at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324)
    at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304)

В онлайновых статьях говорится, что неожиданный регион-сервер cra sh может вызвать это, что может решить проблему путем очистки Zookeeper, однако, в моем случае, даже Zookeeper был перезапущен и, следовательно, запускается заново sh.

Нет ли способа просто получить быструю Hbase на S3 таким образом?

Какие данные / метаданные фактически хранит Hbase в постоянном хранилище, что приводит к его сбою таким образом?

Примечание: я не запускаю никаких служб Hadoop / HDFS, поскольку пишу напрямую в S3; WAL хранится локально в модуле, который очищается при перезапуске.

...