Установка сварочного аппарата на HDP 2.6.5 - PullRequest
0 голосов
/ 08 апреля 2020

Мы перепробовали почти все руководства, которые мы можем найти в Интернете, чтобы соединить машину как сервис ambari.

Но каждый раз, когда мы запускаем sqlshell. sh, он просто говорит, что сервер не работает и не может подключитесь к порту 1527 на локальном хосте.

У нас есть простая песочница HDP версии 2.6.5 и кластер с тремя узлами 2.6.5. Мы пытаемся установить версию 2.87 splicemachine.

Это руководство, которому мы следовали.

https://github.com/splicemachine/spliceengine/blob/branch-2.8/platforms/hdp2.6.5/docs/HDP-installation.md

Это не сработало на нашем кластере из трех узлов

Затем мы попробовали «песочницу» с этим уроком

https://github.com/splicemachine/splice-ambari-service

Снова тот же результат.

Пожалуйста, дайте нам знать, если есть что-то, что мы пропустили в руководстве / или есть какие-то дополнительные шаги.

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

Найден ответ - кроме того, что здесь упоминается в до c - https://github.com/splicemachine/spliceengine/blob/branch-2.8/platforms/hdp2.6.5/docs/HDP-installation.md.

Было несколько ошибок NoClassDefFoundError, выдаваемых в основные журналы hbase для классов, найденных в банках spark2.

Одна из них была

    master.HMaster: The coprocessor com.splicemachine.hbase.SpliceMasterObserver threw java.io.IOException: Unexpected exception
java.io.IOException: Unexpected exception
        at com.splicemachine.si.data.hbase.coprocessor.CoprocessorUtils.getIOException(CoprocessorUtils.java:30)
        at com.splicemachine.hbase.SpliceMasterObserver.start(SpliceMasterObserver.java:111)
        at org.apache.hadoop.hbase.coprocessor.CoprocessorHost$Environment.startup(CoprocessorHost.java:415)
        at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.loadInstance(CoprocessorHost.java:256)
        at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.loadSystemCoprocessors(CoprocessorHost.java:159)
        at org.apache.hadoop.hbase.master.MasterCoprocessorHost.<init>(MasterCoprocessorHost.java:93)
        at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:774)
        at org.apache.hadoop.hbase.master.HMaster.access$900(HMaster.java:225)
        at org.apache.hadoop.hbase.master.HMaster$3.run(HMaster.java:2038)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: org/spark_project/guava/util/concurrent/ThreadFactoryBuilder
        at com.splicemachine.timestamp.impl.TimestampClient.<init>(TimestampClient.java:108)
        at com.splicemachine.timestamp.hbase.ZkTimestampSource.initialize(ZkTimestampSource.java:62)
        at com.splicemachine.timestamp.hbase.ZkTimestampSource.<init>(ZkTimestampSource.java:48)
        at com.splicemachine.si.data.hbase.coprocessor.HBaseSIEnvironment.<init>(HBaseSIEnvironment.java:146)
        at com.splicemachine.si.data.hbase.coprocessor.HBaseSIEnvironment.loadEnvironment(HBaseSIEnvironment.java:100)
        at com.splicemachine.hbase.SpliceMasterObserver.start(SpliceMasterObserver.java:81)
        ... 8 more
Caused by: java.lang.ClassNotFoundException: org.spark_project.guava.util.concurrent.ThreadFactoryBuilder
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 14 more

Мы обнаружили, что этот класс находился в общем банке spark-network и связал его с одной из папок, которая была частью HBASE_CLASSPATH. Но затем он выдал еще одну ошибку: не найден classdef для другого класса.

Мы закончили тем, что поместили все ссылки jar в папке spark2 / jars в одну из папок, которая была частью HBASE_CLASSPATH.

После После этого мастер hbase успешно запустился и запустил процесс соединения базы данных, и мы смогли соединиться с sqlshell. sh

Nots: Обязательно выполните эту символьную ссылку на всех узлах, которые имеют сервер региона.

Что помогло нам выяснить это, так это два java файла в документации сращивания

https://github.com/splicemachine/spliceengine/blob/master/hbase_sql/src/main/java/com/splicemachine/hbase/SpliceMasterObserver.java

и

https://github.com/splicemachine/spliceengine/blob/ee61cadf17c97a0c5d866e2b764142f8e55311a5/splice_timestamp_api/src/main/java/com/splicemachine/timestamp/impl/TimestampServer.java

0 голосов
/ 09 апреля 2020

Можете ли вы подтвердить, что используете sqlshell. sh на сервере, на котором работает региональный сервер? Я бы посмотрел файлы журналов сервера региона. Вы хотите найти «Готов принять соединения JDB C на 0.0.0.0:1527». Это показатель того, что сервер региона запущен и работает. Если вы этого не видите, то можете ли вы заглянуть в файл журнала и посмотреть, есть ли какие-либо сообщения об ошибках?

...