代码之家  ›  专栏  ›  技术社区  ›  jcollum

是否可以在不安装配置单元的情况下安装Beeline来运行配置单元查询?

  •  9
  • jcollum  · 技术社区  · 8 年前

    我在Mac OSX机器上,我想在CentOS 6.6机器上对Hadoop数据库运行查询。我可以登录到CentOS机器并在那里运行hive查询。但我需要能够从我的机器上运行查询来解决连接问题。

    有没有办法在OSX上安装Beeline(Hive CLI的更新版本)或Hive而不安装/配置Hadoop?我所看到的信息表明,您需要首先安装Hadoop,仅仅为了测试远程数据库是否正在侦听连接,这似乎有些过分。

    2 回复  |  直到 8 年前
        1
  •  11
  •   jcollum    8 年前

    $ brew install hive 工作得很好。我想我不会再提这个问题了,因为我在网上找不到答案。141兆的磁盘空间。

        2
  •  1
  •   paolov    7 年前

    无需安装直线/蜂巢。你所要做的就是从你的系统中收集相关的jar并复制它们,然后将它们放在一个文件夹中。

    假设,我们有一个源系统,其中您有一条直线,而目标系统中您想要直线运行。

    在源系统上,将相关jar收集到一个文件夹中。我发现识别所涉及的确切jar的最佳方法是使用jvm选项: -verbose:class

    java 将在源系统上复制典型直线命令调用的命令。

    然后将这些文件复制到目标系统上的一个文件夹中。 cd 到该文件夹以使 -classpath 稍后简单引用。

    我使用HDP2.5 Hortonworks发行版。对我来说,以下对目标系统的调用有效: java -Xmx1024m -classpath apache-log4j-extras-1.2.17.jar:avatica-1.8.0.2.5.0.0-1245.jar:calcite-core-1.2.0.2.5.0.0-1245.jar:calcite-linq4j-1.2.0.2.5.0.0-1245.jar:commons-cli-1.2.jar:commons-codec-1.4.jar:commons-collections-3.2.2.jar:commons-configuration-1.6.jar:commons-lang-2.6.jar:commons-logging-1.1.3.jar:curator-client-2.6.0.jar:curator-framework-2.6.0.jar:derby-10.10.2.0.jar:guava-14.0.1.jar:hadoop-annotations-2.7.3.2.5.0.0-1245.jar:hadoop-auth-2.7.3.2.5.0.0-1245.jar:hadoop-common-2.7.3.2.5.0.0-1245.jar:hadoop-mapreduce-client-core-2.7.3.2.5.0.0-1245.jar:hive-beeline-1.2.1000.2.5.0.0-1245.jar:hive-exec-1.2.1000.2.5.0.0-1245.jar:hive-jdbc-1.2.1000.2.5.0.0-1245.jar:hive-jdbc-1.2.1000.2.5.0.0-1245-standalone.jar:jce.jar:jline-2.12.jar:jsse.jar:log4j-1.2.16.jar:rt.jar:slf4j-log4j12-1.7.10.jar:sunec.jar:sunjce_provider.jar:super-csv-2.2.0.jar:xercesImpl-2.9.1.jar -Dhdp.version=2.5.0.0-1245 -Djava.net.preferIPv4Stack=true -Dhdp.version=2.5.0.0-1245 -Dhadoop.log.dir=/home/userid -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/home/userid -Dhadoop.id.str=userid -Dhadoop.root.logger=INFO,console -Djava.library.path=:/home/userid -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Djava.util.logging.config.file=/home/userid/parquet-logging.properties -Dlog4j.configuration=beeline-log4j.properties -Dhadoop.security.logger=INFO,NullAppender org.apache.hadoop.util.RunJar /home/userid/hive-beeline-1.2.1000.2.5.0.0-1245.jar org.apache.hive.beeline.BeeLine -n userid -p pass -u "jdbc:hive2://knox.company.com:8000/;ssl=true;transportMode=http;httpPath=gateway/tdcprd/hive"

    有些参数可能不是必需的,但我保留了它们,因为在源系统上就是这样做的。您应该使用源系统的java调用作为参考模式。