请教一下,这个是cdp测试过程中,我这边想把hive命令默认client改为原来的hive cli,修改了use_beeline_for_hive_cli为false后,命令输入hive报了java.lang.NoClassDefFoundError: org/apache/tez/dag/api/SessionNotRunning,我尝试过将tez的jar包复制到hive 的lib目录下和修改hive-site.xml中的hive.server2.active.passive.ha.enable为fals
Hive客户端工具后续使用了Beeline 替代HiveCLI ,并且后续版本也会废弃掉HiveCLI 客户端工具,Beeline是 Hive 0.11版本引入的新命令行客户端工具,它是基于SQLLine CLI的JDBC客户端。
在Hive On Spark的模式下,无论是通过Beeline还是hive CLI访问Hive,使用Spark引擎执行SQL语句时,都会在/tmp目录下生成一个spark_submit.*.properties文件。Hive CLI方式会在当前节点/tmp目录生成,使用Beeline方式则会在HiveServer2所在节点的/tmp目录下生成。
beeline是hiveserver2的CLI,一个JDBC的客户端,分为两种模式
如果您想使用 Apache Hive 进行快速测试,您可以使用 Hive 默认授权模式来执行此操作,假设您位于不安全的集群上(没有 Kerberos 或 Ranger 策略)。默认授权模式下,只有用户hive可以访问Hive。启动 Hive shell 的步骤,不要与 CDP 不支持的 Hive CLI 混淆,包括如何登录到集群。
该文介绍了如何使用HiveServer2将HiveServer作为服务供其他程序连接,包括如何安装配置HiveServer2,如何创建和删除数据库,如何创建和删除表,如何插入数据,并提供了示例。同时介绍了如何连接到HiveServer2,包括使用JDBC和Thrift连接,以及连接时需要注意的问题。
访问Hive有两种方式:HiveServer2和Hive Client,Hive Client需要Hive和Hadoop的jar包,配置环境。HiveServer2使得连接Hive的Client从Yarn和HDFS集群中独立出来,不需要每个节点都配置Hive和Hadoop的jar包和一系列环境。
Hive DDL根据操作对象的不同可分为:数据库操作、表的基本操作、表的高级操作、函数操作。
1 Org.apache.hadoop.hive.service.ThriftHive
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 在部署CDH集群时由于OS的操作系统指定的时区是UTC,这时如果我们不想修改集群操作系统的时区,在查询数据时如何强制Hive使用指定时区,接下来的文章就介绍如何为Hive指定时区。 内容概述 1.测试前环境查看 2.指定Hive时区 3.验证时区是否生效 测试环境 1.CM5.14
Beeline是HiveServer2提供的一个新的命令行工具,基于SQLLine CLI的JDBC客户端。Beeline有两种模式:嵌入和远程模式。嵌入模式类似于运行Hive CLI,而远程模式可以通过thrift连接。支持连接Hive、MySQL、Oracle、Impala等。本篇文章主要讲述如何使用Beeline连接Impala。
我们在启动hiveserver2服务以后,会发现光标静止不动,这不是执行完了的标志,是等待在等待,我们可以通过下图看出来:
本文介绍了如何通过HiveServer2、beeline、SQuirrel SQL Client等工具远程连接HiveServer2,并执行SQL语句。主要包括了配置HiveServer2、客户端连接、执行SQL语句、结果展示等功能。
本文主要讲解如何部署Kylin集群,采取多个Kylin实例共享HBase存储的模式,如果需要事先了解Kylin基本概念的朋友可以查看《Apache Kylin基本原理及概念》。
之前Fayson介绍了《如何使用HAProxy实现HiveServer2负载均衡》,这种方案也有一些弊端,如HAProxy本身就是单点,虽然可以通过Keepalived来实现HAProxy的高可用,但这样配置会比较麻烦并且需要多部署两个组件,增大了系统运维的复杂度。在大数据平台中Zookeeper是一个必不可少且自身具有高可用保证的组件,本文主要讲述如何使用Zookeeper实现HiveServer2的HA。
本文节选自《Netkiller Database 手札》 5.26. Spring boot with Apache Hive 5.26.1. Maven <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.springframew
SparkSQL模块从Hive框架衍生发展而来,所以Hive提供的所有功能(数据分析交互式方式)都支持,文档:http://spark.apache.org/docs/2.4.5/sql-distributed-sql-engine.html。
Fayson在前面的文章《01-如何在Window Server 2012 R2搭建Acitve Directory域服务》、《02-Active Directory安装证书服务并配置》、《03-Active Directory的使用与验证》和《04-如何在RedHat7上配置OpenLDAP客户端及集成SSSD服务和集成SSH登录》,前面完成了AD服务的基本集成接下来就来实现与CDH各个服务的集成。本篇文章Fayson主要介绍Hive与AD集成。
了解Apache Hive 3的主要设计功能(例如默认的ACID事务处理)可以帮助您使用Hive来满足企业数据仓库系统不断增长的需求。
直接与文件系统交互,仅是Spark SQL数据应用常见case之一。Spark SQL另一典型场景是与Hive集成、构建分布式数仓。
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 在前面的文章Fayson介绍了《如何在Kerberos环境下的CDH集群部署Spark1.6 Thrift及spark-sql客户端》。本文主要介绍当集群启用Kerberos和Sentry后,如何实现Spark SQL的权限管理。因为社区版Spark SQL并未做任何权限控制。
细细品味这首诗,忽然发觉以前学这首诗的意义在于背诵和考试,如今细细品味这首诗,不禁感叹意境真好。天色微凉,牵着手,一起爬山那高高的山头看那天边的牵牛织女星,多么美好的夜晚。古人的生活比现在的生活惬意多了。
Metastore HA解决方案被设计用来处理metastore服务故障。当一个部署的metastore宕机时,metastore服务可能持续相当长的时间不可用,直到服务被重新拉起。为了避免这种服务中断情况,需要部署Hive Metastore HA模式。Cloudera建议Metastore的每个实例在单独的集群主机上运行,突出高可用作用
Beeline 是一个 Hive 客户端,使用 JDBC 连接到 HiveServer2,是集群上的服务。可以在集群上执行 Beeline 命令获取查询结果,而无需进入 hive 数据库。使用 beeline 命令时,需要首先启动 metastore 元数据服务和 hiveserver2 服务,其应用场景广泛,比如:优化查询结果展示效果、告警监控、查询结果导出等。
Impala本身提供了两种接口进行访问:beeswax和hs2,其中beeswax是impala自己开发的api,而hs2是兼容hive的。由于beesswax的连接方式需要使用impala自己提供的python脚本,而且不支持HA,因此这里就不再多做介绍。本文主要介绍如何使用hive的beeline客户端来连接impala集群。目前我们内部的Impala集群都支持zk的高可用,来解决单点故障的问题。不过对于用户来说,单节点和高可用只是体现在URL的不同,其他并无区别。
在Hive 日常跑批的情况下,如出现数据倾斜严重,或者运行未经优化的SQL时可能导致Hive 任务运行时长超过预期并且长时间占用资源池队列的大量资源,从而导致其他任务因资源不够的情况而延迟。对于这种情况,用户可能期望该作业失败,来保证后续作业的运行。本文主要讲述如何设置Hive 任务的超时时间以及与其关联的参数,合理的配置参数可以减少上述问题的发生。
Kerberos协议主要用于计算机网络的身份鉴别(Authentication), 其特点是用户只需输入一次身份验证信息就可以凭借此验证获得的票据(ticket-granting ticket)访问多个服务,即SSO(Single Sign On)。由于在每个Client和Service之间建立了共享密钥,使得该协议具有相当的安全性。
使用beeline连接HiveServer2,创建columnread角色并授权test表s1列的读权限,将columnread角色授权给fayson_r用户组
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 ---- 在前面的文章Fayson讲了《1.如何在RedHat7上安装OpenLDA并配置客户端》、《2.如何在RedHat7中实现OpenLDAP集成SSH登录并使用sssd同步用户》以及《3.如何RedHat7上实现OpenLDAP的主主同步》,在CDH中各个组件如何集成?本篇文章主要介
$ beeline -u "jdbc:hive2://hostname.domain.cn:10000/default;principal=hive/_HOST@domain.com;" Connecting to jdbc:hive2://hostname.domain.cn:10000/default;principal=hive/_HOST@domain.com; Connected to: Apache Hive (version release-1.2.1-EDH-1.1.2) Driver: Hive JDBC (version release-1.2.1-EDH-1.1.2) Transaction isolation: TRANSACTION_REPEATABLE_READ Beeline version release-1.2.1-EDH-1.1.2 by Apache Hive 0: jdbc:hive2://hostname.domain.cn:10000> show databases;
之前分享了 Hive 元数据的表,一文搞懂 Hive 元数据的表,数仓开发需要熟悉的,建议收藏
元数据服务(metastore)作用是:客户端连接metastore服务,metastore再去连接MySQL数据库来存取元数据。有了metastore服务,就可以有多个客户端同时连接,而且这些客户端不需要知道MySQL数据库的用户名和密码,只需要连接metastore 服务即可。
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1.文档编写目的 在前面的文章Fayson介绍了《如何在CDH集群中安装Hive2.3.3》,本篇文章主要介绍Hive2.2.0服务如何与CDH集群中的Spark1.6集成,Hive on Spark对于Hive和Spark的版本都有严格的要求,Fayson本文使用的是Hive2.2.0版本做测试,具体版本的
Cloudera Runtime(CR)服务包括Hive和Hive Metastore。Hive服务基于Apache Hive 3.x(基于SQL的数据仓库系统)。Hive 3.x与以前版本相比的增强功能可以提高查询性能并符合Internet法规。
前面Fayson介绍了《如何使用HAProxy实现Impala的负载均衡》,本文主要介绍如何使用HAProxy实现Hive服务的负载均衡。
本文主要通过Kettle完成对Hive和HBase中数据的读写工作,为了便于按照文档即可实现Kettle的读写Hive和HBase,文本前面也介绍下Hive的安装过程,如何Hive已经完成安装,可跳过前面即可。 实验环境: cetnos7.4
这次主要对hive源码包及hive的两种调试方式做了介绍,这篇结束后,整个源码调试环境的搭建已经完成。
在前面的文章Fayson讲了《1.如何在CentOS6.5安装OpenLDAP并配置客户端》、《2.OpenLDAP集成SSH登录并使用SSSD同步用户》以及《3.如何实现OpenLDAP的主主同步》,在CDH中各个组件如何集成?本篇文章主要介绍如何为Hive配置OpenLDAP认证。
当对Hive的VIEW执行SHOW CREATE TABLE时,结果输出只有部分,会被截断,这个表现在Hue,Beeline以及Hive CLI中都会存在,如下所示。
在前面的文章Fayson介绍了《如何使用java代码通过JDBC连接Hive(附github源码)》和《如何使用java代码通过JDBC连接Impala(附Github源码)》,本篇文章主要介绍在集群集成了OpenLDAP和启用了Sentry后使用Java通过JDBC访问的区别以及在beeline命令行如何访问。
这里需要使用hive中的HiveServer2服务,使用该服务相当于在hive的机器上启动一个server,而客户端可以通过ip + port的方式对其进行访问,然后,就可以通过客户端来实现我们可视化的需求。
Hive.png Hive 运行方式 命令行 脚本 jdbc webui 搭建模式 local 单用户模式 远程模式/多用户模式 一般模式 Beeline · 服务器hiveserver2启动 · 客户端beeline连接 HQL 建表(create) 内部表 · hive管理,删除表时源数据消失 外部表 · 非hive管理,删除表时源数据不消失 查看表描述(desc) DML 和sql基本类似,用到查询即可 分区 静态分区 动态分区 分桶 适用场景 抽样 map-join 索引 提高检索性能 SerDe
在前面的文章Fayson介绍了《如何使用java代码通过JDBC连接Hive(附github源码)》、《如何使用java代码通过JDBC连接Impala(附Github源码)》和《如何使用Java访问集成OpenLDAP并启用Sentry的Impala和Hive》,关于Hive和Impala如何启用Sentry可以参考Fayson前面的文章《如何在CDH启用Kerberos的情况下安装及使用Sentry(一)》,《如何在CDH启用Kerberos的情况下安装及使用Sentry(二)》和《如何在CDH未启用认证的情况下安装及使用Sentry》,在集群只启用了Sentry的情况下如何访问?本篇文章主要介绍在集群只启用了Sentry后使用Java通过JDBC访问的区别以及在beeline命令行如何访问。
大数据常用环境中,除了hadoop、spark本身自带脚本,能够完成快速启停,其它组件的启动命令稍微复杂,而且步骤较多。
问题一 kinit alice beeline -u “jdbc:hive2://baogang2:10000/default;principal=hive/baogang2@TDH” 请问这个beeline连接到inceptor中之后,当前用户是谁?principal=hive/baogang2@TDH指的又是什么? 当前用户是baogang2 principal=hive/baogang2@TDH指的是在baogang2的权限下使用hive 问题二 尝试写一个访问
1、Hive创建表格报【Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask.
Hadoop lib 下已经存在了 jline 0.9x ,但是在hive中将Jline升级到了Jline2。
CDH平台中的安全,认证(Kerberos/LDAP)是第一步,授权(Sentry)是第二步。如果要启用授权,必须先启用认证。但在CDH平台中给出了一种测试模式,即不启用认证而只启用Sentry授权。但强烈不建议在生产系统中这样使用,因为如果没有用户认证,授权没有任何意义形同虚设,用户可以随意使用任何超级用户登录HiveServer2或者Impala,并不会做密码校验。注:本文档仅适用于测试环境。
Facebook解决海量日志数据的分析而开发了Hive,后来开源给了Apache软件基金会。
领取专属 10元无门槛券
手把手带您无忧上云