📖
tbds
  • 前言
  • 部署
    • 安装步骤
  • 平台管理
    • 用户管理
    • 项目管理
    • 系统设置
  • 组件访问开发
    • kafka
    • hadoop
    • hbase
    • accessKey
    • hive
    • spark
    • ftp
    • portalApi
    • hermes
    • 代码访问组件demos
      • hbase
      • hdfs
      • kafka
      • hive
  • 数据接入
    • 数据接入
      • TDBank产品化介绍及使用指引
      • TDBank数据接入指引
      • TDBank采集接口详解
      • OGG Flume Adapter 部署文档
      • DB Demo
      • HDFS Demo
    • Hippo管理
    • 进度监控
    • 血缘分析
  • 实时计算
    • 任务管理
    • 库表模板管理
  • 数据分析
    • 数据交互
    • ideX
  • 任务调度
    • 操作指引
    • 工作流
      • 基本概念
      • 任务基本信息
      • 任务调度设置
      • 任务参数配置
        • shell 脚本
        • ftp导入hdfs
        • kafka导入hbase
        • kafka导入hdfs
        • hdfs导出hbase
        • hive sql 脚本
        • hive导入hdfs
        • hdfs导出DB(mysql,postgreSQL,sql server)
        • tstorm任务
        • spark任务
        • mapreduce任务
        • db导入hdfs
        • hdfs导出hive
        • hdfs导出hive-tdsort
        • hive导出mysql
        • mysql导入hive
      • Demo
        • FTP导入HDFS
        • HDFS导出HBASE
        • HDFS导出Mysql
        • HDFS导入HIVE
        • Hive SQL脚本
        • Hive导出MySQL
        • Hive导入HDFS
        • KAFKA导出HBASE
        • KAFKA导出HDFS
        • MYSQL导入HDFS
        • MySQL导入Hive
        • Shell脚本
        • SPARK任务
      • 升级
        • 集成代码更新
        • rpm升级
      • 补充
        • 手动迁移base组件
        • 手动安装runner组件
        • 自定义任务开发文档
        • 时间隐式变量说明
        • 下发并发数说明和调整操作
        • Issues版本说明
        • 设置分组
        • 跨工作流依赖
      • 常见问题定位和解决方式
        • 常用操作
        • 实时接入任务hdfs2hive (tdsort)
        • 实例日志获取失败
        • 实例日志中提示下载文件失败
        • taskSchedule指标为空定位方法
        • 实例依赖失效确认方式
        • 任务实例诊断按钮无调度信息
        • 诊断和定位操作参考
        • 实例一直等待终止定位
        • mongodb 常见问题和处理办法
    • 任务管理
      • 工作流列表
      • 任务管理
      • 任务运行管理
      • 其他
    • 服务器配置
      • 基本概念
      • 操作指南
  • Tstorm
    • Tstorm介绍
    • 开发实例
      • wordcount
  • 数据展现
    • 自助报表
  • 数据资产
    • 库表管理
      • 可管理库表
      • 可读写库表
      • 无归属库表
      • 维表管理
      • 新建表
    • 数据血缘
    • 数据提取
      • 数据地图
      • 任务列表
      • 架构关联
  • 运维中心
    • 系统运维
      • 组件部署
      • 链接归集
      • 诊断
      • 备份
    • 访问管理
    • 文件管理
    • 监控告警
      • 监控
      • 告警
  • 机器学习
    • 系统简介
    • TDInsight功能介绍
      • 工作流
        • 新建工程
        • 新建工作流
        • 创建和配置节点
        • 运行
        • 日志查看
      • 数据输入输出
      • 组件
        • Spark组件
        • Sparkstreaming组件
        • pySpark组件
        • xgboost组件
    • 多实例并发
      • 3种方式驱动实例
      • 实例查询
      • 历史实例
    • TDInsight模型与在线推理
      • 数据流
      • 模型的训练与使用
      • 模型在线服务
    • TDInsight算法/组件说明
      • 数据说明
      • 特征工程
        • 数据预处理
        • 特征提取
        • 特征转换
        • 特征选择
        • 特征评估
      • 机器学习
        • 分类算法
        • 聚类算法
        • 回归算法
        • 推荐算法
        • 关联规则
      • 模型评估
        • Binary Evaluator
        • Multi Evaluator
        • Regression Evaluator
      • 可视化
        • 关系
        • 分布
        • 对比
        • 组合
      • 深度学习算法简介
        • 计算机视觉
        • 自然语言处理
        • 表示学习
Powered by GitBook
On this page
  • 1.1 Hive认证
  • 1.2使用Hive
  • 1.3 集群外部署Hive Client
  • 1.4客户端代码编译打包

Was this helpful?

  1. 组件访问开发

hive

Hive的使用与开源没有本质区别,需要注意的主要有两点:1)Hive打开了Ldap认证,连接Hive时,需要设置用户名和密码;2)Hive实现了HA,通过在zk注册多个hiveserver实例实现,多个hiveserver并行工作,工作时,通过zk路由到某个可用的hiveserver上,各hiveserver之间互相独立。

1.1 Hive认证

Hive认证通过打开hive自带的Ldap认证功能来实现,连接hive时的用户名和密码被传递给HiverServer, HiveServer去Ldap里面进行比较。认证所用的用户有两种,两种用户都可以在连接hive时进行认证:

1)用户在大数据套件界面(以下简称portal界面)创建的用户和密码

2)系统自带默认用户(包括:

hive,httpfs,supersql,tbds_shellUser,root,olap,hbase,hdfs,yarn,mapred,ranger,amshcat,hue,tez,zookeeper,ambari-qa,hadoop,flume,tencent,jstorm,kafka,lhotse,hdfs,postgres,redis,wherehows,hermes) 这些默认用户及其密码都保存在套件portal节点的Ldap里,各个用户的初始密码为:用户名+@Tbds.com, 如hive用户的密码为:hive@Tbds.com hdfs 用户的密码为:hdfs@Tbds.com ,如果想更改这些用户的初始密码,可以通过ldap命令直接去ldap修改。

建议这些默认用户不暴露给最终用户使用,最终用户所使用的用户都是在portal页面创建的用户, 这里说明系统用户默认密码主要是为了方便套件上层开发的应用程序访问。

1.2使用Hive

1)连接hive时,有两种不同的方式,对应的连接字符串也有所不同:

直接连接到指定的hiveserver,如: jdbc:hive2://172.16.32.10:10000 其中,172.16.32.10 为hiveserver ip, 10000为hiveserver port 通过zk的方式连接hive,如:

jdbc:hive2://172.16.32.14:2181,172.16.32.13:2181,172.16.32.8:2181/default;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2

其中,172.16.32.14:2181,172.16.32.13:2181,172.16.32.8:2181为zk ip和port ,使用时其他的字符串保持不变 注意:建议通过zk的方式连接zk,可以保证hive的高可用性。

2)根据客户端的使用方式不同,有以下几种:

beeline方式连接,去安装有hive client的节点执行 beeline命令: !connect jdbc:hive2://172.16.32.10:10000 其中,链接字符串可以使用上节介绍的任意一种(推荐zk方式) java客户端使用jdbc驱动连接,连接字符串可以任意一种,用户名和密码参见《Hive认证》章节,需要引用hive的pom依赖为

<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-jdbc</artifactId>
    <version>2.2.0-SNAPSHOT</version>
</dependency>

使用Thrift接口去连接Hive,使用方法和开源完全相同,传递用户名和密码时,参考《Hive认证》 章节即可

1.3 集群外部署Hive Client

方案1:

    1)通过yum源(提前配置好套件的yum源)安装套件版本的Hive到集群外机器:
        yum install  hive_*  hiveclient.x86_64  -y      
    2)拷贝集群内任一hive客户端机器/etc/hive/conf目录的内容,替换集群外客户端对应路径:
    集群内客户端节点:
        cd  /etc/hive/conf
        tar -zcvf  hive.tar.gz  /etc/hive/conf/*
    集群外客户端节点:
        cd  /etc/hive/conf
        tar -zxvf  hvie.tar.gz

方案2: 1.打包集群内任一hive客户端所在节点的/usr/hdp/2.2.0.0-2041/hive/,并拷贝到集群外目标客户端节点 2.同方案1的步骤2

1.4客户端代码编译打包

1) 拷贝或部署套件提供的maven库到开发者可访问的本地仓库或远程仓库 2) 在客户端maven工程pom引入对应的套件版hive依赖,版本号为:2.2.0-SNAPSHOT

<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-jdbc</artifactId>
        <version>2.2.0-SNAPSHOT</version>
</dependency>
<dependency>
    <groupId>org.apache.hive</groupId>
    <artifactId>hive-common</artifactId>
    <version>2.2.0-SNAPSHOT</version>
</dependency>
PreviousaccessKeyNextspark

Last updated 4 years ago

Was this helpful?