HORTONWORKS — Hbase/Phoenix — WALEditCodec — отсутствует

Я получаю следующую ошибку при попытке запустить Phoenix поверх Hbase:

ИСКЛЮЧЕНИЕ №1:

2017-11-07 12:40:12,620 WARN  [RS_LOG_REPLAY_OPS-XXX:16020-0] 
regionserver.SplitLogWorker: log splitting of 
WALs/XXX.XXX.XXX.XXX,16020,1507179047656-
splitting/XXX.XXX.XXX.XXX%2C16020%2C1507179047656.default.1507179049782 failed, returning error
java.io.IOException: Cannot get log reader
    at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:355)
    at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:267)
    at org.apache.hadoop.hbase.wal.WALSplitter.getReader(WALSplitter.java:839)
    at org.apache.hadoop.hbase.wal.WALSplitter.getReader(WALSplitter.java:763)
    at org.apache.hadoop.hbase.wal.WALSplitter.splitLogFile(WALSplitter.java:297)
    at org.apache.hadoop.hbase.wal.WALSplitter.splitLogFile(WALSplitter.java:235)
    at org.apache.hadoop.hbase.regionserver.SplitLogWorker$1.exec(SplitLogWorker.java:104)
    at org.apache.hadoop.hbase.regionserver.handler.WALSplitterHandler.process(WALSplitterHandler.java:72)
    at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:129)
:$
    at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:355)
    at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:267)
    at org.apache.hadoop.hbase.wal.WALSplitter.getReader(WALSplitter.java:839)
    at org.apache.hadoop.hbase.wal.WALSplitter.getReader(WALSplitter.java:763)
    at org.apache.hadoop.hbase.wal.WALSplitter.splitLogFile(WALSplitter.java:297)
    at org.apache.hadoop.hbase.wal.WALSplitter.splitLogFile(WALSplitter.java:235)
    at org.apache.hadoop.hbase.regionserver.SplitLogWorker$1.exec(SplitLogWorker.java:104)
    at org.apache.hadoop.hbase.regionserver.handler.WALSplitterHandler.process(WALSplitterHandler.java:72)
    at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:129)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.UnsupportedOperationException: Unable to find  org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec
    at org.apache.hadoop.hbase.util.ReflectionUtils.instantiateWithCustomCtor(ReflectionUtils.java:36)
    at org.apache.hadoop.hbase.regionserver.wal.WALCellCodec.create(WALCellCodec.java:103)
    at org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.getCodec(ProtobufLogReader.java:297)
    at org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.initAfterCompression(ProtobufLogReader.java:307)
    at org.apache.hadoop.hbase.regionserver.wal.ReaderBase.init(ReaderBase.java:82)
    at org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.init(ProtobufLogReader.java:164)
    at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:303)
    ... 11 more
Caused by: java.lang.ClassNotFoundException:  org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at org.apache.hadoop.hbase.util.ReflectionUtils.instantiateWithCustomCtor(ReflectionUtils.java:32)
    ... 17 more

ПРИМЕНЕННЫЕ ИСПРАВЛЕНИЯ #1: я применил следующие настройки через веб-интерфейс Ambari для расширенных конфигураций Hbase, как указано в документе Hortonworks: https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.6.2/bk_command-line-upgrade/content/configure-phoenix-25.html

ИСКЛЮЧЕНИЕ №2

FATAL [RS_LOG_REPLAY_OPS-XXX:16020-1] conf.Configuration: error parsing conf core-site.xml
java.io.FileNotFoundException: /etc/hadoop/2.6.1.0-129/0/core-site.xml (Too many open files)

ПРИМЕНЕННЫЕ ИСПРАВЛЕНИЯ #2 Я проверил каждый файл core-site.xml на каждом сервере, содержащем сервер региона Hbase, и убедился, что он заканчивается на </configuration>. А также файлы core-site.xml в указанном каталоге '/etc/hadoop/2.6.1.0-129/0/core-site.xml'

Другой информации по этому вопросу найти не удалось.


person e123    schedule 07.11.2017    source источник


Ответы (1)


Я зашел в HDFS и удалил все разделенные журналы WAL с помощью следующей команды:

hdfs dfs -rm -r /apps/hbase/data/WALs/*splitting*

Это разрешенное исключение №1. Имейте в виду, из того, что я прочитал, это приведет к потере данных.

Для исключения № 2 я вернулся и проверил пределы открытых файлов для каждого сервера (ulimit -n) и обновил, где это применимо, в отношении документа Hortonworks: https://docs.hortonworks.com/HDPDocuments/HDP2./HDP-2.6.2/bk_security/content/kerb-config-limits.html

person e123    schedule 08.11.2017