是否可以在不安装 Hive 的情况下将 Beeline 安装到 运行 Hive 查询?
Is it possible to install Beeline to run Hive queries without installing Hive?
我在 Mac OSX 机器上,我想 运行 查询 CentOS 6.6 机器上的 Hadoop 数据库。我可以登录 CentOS 机器并在那里进行 运行 蜂巢查询。但我需要能够 运行 从我的机器查询来解决连接问题。
有没有办法在没有 installing/configuring Hadoop 的情况下在 OSX 上安装 Beeline(较新版本的 Hive CLI)或 Hive?我看到的信息说你需要先安装Hadoop,这似乎是为了测试远程数据库是否正在监听连接而做的太过分了。
$ brew install hive
效果很好。我想我会留下这个问题,因为我无法在互联网上找到答案。 141 兆磁盘 space 不过,boo.
不需要安装beeline/hive。您所要做的就是从您的系统中收集相关的 jar 并复制它们并将它们放在一个文件夹中。
假设,我们有一个源系统,您可以在其中设置直线,还有一个目标系统,您可以在其中运行 设置直线。
在源系统上将相关的jar包收集到一个文件夹中。我发现识别所涉及的确切 jar 的最佳方法是使用 jvm 选项:-verbose:class
即,您应该能够发出 java
命令,该命令将在源系统上复制典型的直线命令调用。
然后将这些文件复制到目标系统上的一个文件夹中。 cd
到该文件夹,以便稍后简化 -classpath
引用。
我使用 HDP 2.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 调用作为参考模式。
我在 Mac OSX 机器上,我想 运行 查询 CentOS 6.6 机器上的 Hadoop 数据库。我可以登录 CentOS 机器并在那里进行 运行 蜂巢查询。但我需要能够 运行 从我的机器查询来解决连接问题。
有没有办法在没有 installing/configuring Hadoop 的情况下在 OSX 上安装 Beeline(较新版本的 Hive CLI)或 Hive?我看到的信息说你需要先安装Hadoop,这似乎是为了测试远程数据库是否正在监听连接而做的太过分了。
$ brew install hive
效果很好。我想我会留下这个问题,因为我无法在互联网上找到答案。 141 兆磁盘 space 不过,boo.
不需要安装beeline/hive。您所要做的就是从您的系统中收集相关的 jar 并复制它们并将它们放在一个文件夹中。
假设,我们有一个源系统,您可以在其中设置直线,还有一个目标系统,您可以在其中运行 设置直线。
在源系统上将相关的jar包收集到一个文件夹中。我发现识别所涉及的确切 jar 的最佳方法是使用 jvm 选项:-verbose:class
即,您应该能够发出 java
命令,该命令将在源系统上复制典型的直线命令调用。
然后将这些文件复制到目标系统上的一个文件夹中。 cd
到该文件夹,以便稍后简化 -classpath
引用。
我使用 HDP 2.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 调用作为参考模式。