在hdp2.6.5上安装拼接机

wswtfjt7  于 2021-05-31  发布在  Hadoop
关注(0)|答案(2)|浏览(515)

我们尝试了几乎所有的指南,我们可以在网上找到拼接机作为一个ambari服务。
但是每次我们运行sqlshell.sh时,它只是说没有服务器在运行,无法连接到localhost上的端口1527。
我们有一个简单的hdp沙盒版本2.6.5和一个三节点的2.6.5集群。我们正在尝试安装拼接机的2.87版本。
这些是我们遵循的指南。
https://github.com/splicemachine/spliceengine/blob/branch-2.8/platforms/hdp2.6.5/docs/hdp-installation.md
这在我们的三节点集群上不起作用
然后我们用这个教程尝试了沙盒
https://github.com/splicemachine/splice-ambari-service
同样的结果。
请告知我们指南中是否遗漏了任何内容/或是否有其他步骤。

hrysbysz

hrysbysz1#

找到了答案-除了文件中提到的-https://github.com/splicemachine/spliceengine/blob/branch-2.8/platforms/hdp2.6.5/docs/hdp-installation.md.
在spark2 jar中找到的类的hbase主日志中抛出了多个noclassdeffounderror错误。
其中一个是

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 common jar中,并将它符号链接到hbase\u classpath的一个文件夹中。但随后它又抛出了另一个classdef not found错误。
我们最终将spark2/jars文件夹中的所有jar符号链接到hbase\u类路径的一个文件夹。
在此之后,hbase主机成功启动并启动了splice db进程,我们能够连接sqlshell.sh
注意:确保在具有regionserver的所有节点上执行此符号链接。
帮助我们弄清楚这一点的是拼接文档中的这两个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

pn9klfpd

pn9klfpd2#

能否确认您正在运行区域服务器的服务器上运行sqlshell.sh?我会查看区域服务器日志文件。您希望查找“ready to accept jdbc connections on 0.0.0.0:1527”。这是区域服务器已启动并正在运行的指示器。如果您没有看到,那么您可以查看日志文件,看看是否有任何错误消息?

相关问题