Env:
Cloudera Manager 4.6.1 with CDH4.3
Hadoop 2.0.0-CDH4.3
Hive 0.10.0-CDH4.3
CentOS 6.4 X86_64
Hive started successfully:
[root@n8 hive]# netstat -anlp | grep 10000 tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 21739/java
What I want to do: connect to Hive server via Hive Thrift service with below Groovy script:
import org.apache.hadoop.hive.service.*; import org.apache.thrift.protocol.*; import org.apache.thrift.transport.*; transport = new TSocket("n8.example.com", 10000); protocol = new TBinaryProtocol(transport); client = new HiveClient(protocol); transport.open(); client.execute("show tables"); client.getClusterStatus(); client.getSchema(); client.fetchOne(); client.fetchAll();
The dependencies have been placed into Groovy classpath already:
# load required libraries load !{groovy.home}/lib/*.jar # load user specific libraries load !{user.home}/.groovy/lib/*.jar # tools.jar for ant tasks load ${tools.jar} load ${user.home}/dev/hadoop-2.0.0-cdh4.3.0/share/hadoop/common/*.jar load ${user.home}/dev/hadoop-2.0.0-cdh4.3.0/share/hadoop/common/lib/*.jar load ${user.home}/dev/hadoop-2.0.0-cdh4.3.0/share/hadoop/hdfs/*.jar load ${user.home}/dev/hadoop-2.0.0-cdh4.3.0/share/hadoop/hdfs/lib/*.jar load ${user.home}/dev/hadoop-2.0.0-cdh4.3.0/share/hadoop/mapreduce/*.jar load ${user.home}/dev/hadoop-2.0.0-cdh4.3.0/share/hadoop/mapreduce/lib/*.jar load ${user.home}/dev/hadoop-2.0.0-cdh4.3.0/share/hadoop/tools/lib/*.jar load ${user.home}/dev/hive-0.10.0-cdh4.3.0/lib/*.jar
But when I tried to execute the Groovy script, the executing process was hanged without any return, the connection was reset by the Hive server:
[root@n8 hive]# netstat -anlp | grep 10000 tcp 0 0 0.0.0.0:10000 0.0.0.0:* LISTEN 21739/java tcp 1 0 192.168.1.208:10000 192.168.1.100:50761 CLOSE_WAIT 21739/java
Solution:
Stop the HiveServer2, then execute below command to start another HiveServer2 in which host the Hive installed.
hive --service hiveserver 10000 &
Run above Groovy script then you will find that the script will run successfully.
Or you could keep the first HiveServer2 instance running by choosing another port to run another HiveServer2 on.
hive --service hiveserver 10001 &
Reason:
By default hive would create the metastore in whichever directory you are starting the thrift server. So when you keep starting the server from various locations it has different metastores which has no reference to your tables which you would have created some where else.
相关推荐
不同版本的Hive可能与不同版本的Thrift库有兼容性问题。 2. **编译问题**:可能在编译Thrift PHP库时出现了错误,需要检查编译过程是否顺利,所有依赖项是否都已安装。 3. **配置问题**:检查PHP的配置文件(php.ini...
spark-hive-thriftserver_2.11-2.1.spark-hive-thrift
spark-hive_2.11-2.3.0...spark-hive-thriftserver_2.11-2.3.0.jar log4j-2.15.0.jar slf4j-api-1.7.7.jar slf4j-log4j12-1.7.25.jar curator-client-2.4.0.jar curator-framework-2.4.0.jar curator-recipes-2.4.0.jar
标题 "hbase_hive_thrift_php" 暗示了我们正在探讨的是一个涉及HBase、Hive、Thrift和PHP的技术组合。这些组件在大数据处理和数据分析领域中扮演着重要角色。下面是关于这些技术及其相互关系的详细解释: 1. **...
spark和hive结合依赖,如何使用请看我博客https://blog.csdn.net/z1987865446/article/details/109372818
标题中的“test_hive.rar_ThriftHive.php_hive_hive php_php hive_php hive Thr”暗示了我们讨论的主题是关于使用PHP通过Thrift接口与Hive数据仓库进行交互的一个库,具体来说,是一个名为“ThriftHive.php”的文件...
Hive错误之 Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask错误分析_xiaohu21的博客-CSDN博客.mht
这个特定的压缩包"spark-2.3.1-bin-hadoop2-without-hive.tgz"是针对Hadoop 2.x平台编译的Spark二进制发行版,但不包括对Hive的支持。这意味着它没有集成Hive Metastore服务,因此不能直接用于执行Hive查询,但可以...
hive-on-spark客户端
然而,这并不意味着完全不能与 Hive 配合使用,只是需要通过其他方式(如 JDBC 或者 Thrift Server)来实现 Spark 与 Hive 的交互。这对于那些已经建立了 Hive 数据仓库,但又想利用 Spark 的高性能计算优势的项目来...
SQuirrel SQL Client是一款流行的开源SQL查询工具,它允许用户通过一个图形用户界面(GUI)来连接到各种类型的数据库,包括Hive。Hive是一个基于Hadoop的数据仓库系统,常用于大数据处理和分析。本篇文章将详细讲解...
安装命令通常是`pip install hive_metastore_client-1.0.0-py3-none-any.whl`,这将把Hive Metastore的客户端库添加到Python环境中,使Python程序能够连接并操作Hive Metastore。 标签中包含了“hive”、“hadoop”...
hiveclient.properties
在描述中提到的"jdbc方式连接hive thrift server驱动器",这里提到了Thrift Server,它是Hive提供的一种非HDFS的访问方式,允许用户通过多种语言(如Java、Python等)远程访问Hive。Thrift是一个软件框架,用于构建...
基于hadoop的Hive数据仓库JavaAPI简单...2 Starting Hive Thrift Server 上面代表你已经成功的在端口为10002(默认的端口是10000)启动了hiveserver服务。这时候,你就可以通过Java代码来连接hiveserver,代码如下:
Hive是Apache Hadoop生态系统中的一个数据仓库工具,它允许用户使用SQL方言(HQL)进行数据查询、分析和管理大规模分布式数据集。在Windows环境下,Hive的使用需要特定的配置和执行文件。以下是对标题和描述中涉及的...
尽管如此,Spark 仍然可以通过 JDBC 或 Thrift 服务器连接到 Hive Metastore,从而访问 Hive 表。如果你的环境中已经部署了 Hive,可以单独安装 Spark 对 Hive 的支持,实现两者的协同工作。 在实际应用中,这个...
在大数据处理领域,Hive是一个基于Hadoop的数据仓库工具,它允许用户使用SQL(HQL,Hive Query Language)查询和管理存储在Hadoop分布式文件系统(HDFS)中的大量数据。Hive提供了数据整合、元数据管理、查询和分析...
在IT行业中,数据库管理和分析是至关重要的任务,而Hive作为一个大数据处理的仓库系统,它提供了对结构化数据的查询和分析能力。当需要通过图形化的数据库管理工具,如DBeaver,与Hive进行交互时,就需要用到特定的...
在大数据处理领域,Hive是一个基于Hadoop的数据仓库工具,它可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,使得用户可以使用SQL语句来处理存储在Hadoop分布式文件系统(HDFS)上的大数据。...