fat / assembly jar有哪些外部依赖?

时间:2016-09-27 08:51:33

标签: scala deployment hive sbt thrift

所以我们正在与sbt合作开展这个Scala项目,我们遇到了一个与胖罐有点奇怪的问题

我在我的本地计算机上创建了我们的胖jar(称之为x.jar)并运行了一些使用Hive JDBC在我们的Hive机器上运行一些Hive查询的代码,一切正常,但是当我将x.jar复制到另一台远程机器Y(不是Hive机器)并从那里运行代码(连接到同一端口上的同一Hive机器)它失败了

java.sql.SQLException: org.apache.thrift.transport.TTransportException: java.net.SocketTimeoutException: Read timed out

我使用了这个词很奇怪,因为我的印象是肥胖的罐子不应该使用任何外部依赖,但发生的事情的结果让我重新思考它

本机和我的电脑都使用相同的Scala版本。由于我使用相同的胖罐,我不认为它是版本冲突问题

我还尝试从头开始创建一个新项目并为它创建一个jar(不是胖罐),然后将该jar传递给Y机器并手动添加所需的jar作为其类路径的一部分,它成功查询了Hive机器所以我不认为它是连接问题

所以我有2个问题:

  • 肥胖罐子使用某种外部依赖吗?如果是这样,这是如何确定的?如果没有,你能帮我想一想我提到的问题的不同解释吗?
  • 任何人都可以推荐常规罐子和肥胖罐子上的任何好的阅读材料吗?什么时候应该使用每一个?

由于

0 个答案:

没有答案