hive默认使用的derby的嵌入模式。这个就面临着,无法多个并发hive shell共享的问题。 使用MySQL服务器也可以解决问题,但安装、配置太麻烦了。 可以使用轻量级的derby的c/s服务模式解决问题。 1、下载、配置derby 首先,从apache下载derby的最新版。

wget https://mirrors.tuna.tsinghua.edu.cn/apache//db/derby/db-derby-10.14.1.0/db-derby-10.14.1.0-bin.tar.gztar -xzvf ./db-derby-10.14.1.0-bin.tar.gzcd db-derby-10.14.1.0-bin 

derby基本是开箱即用的,如下启动

./bin/startNetworkServer -h myhost -p myport

  同时,还需要拷贝两个jar包到hive/lib下

cp ./derbyclient.jar ~/hive-current/lib/
cp ./derbytools.jar ~/hive-current/lib/

  2、配置hive 需要修改2个配置,derby默认是可以没有用户名、密码的。注意看驱动,和嵌入模式的驱动是不一样的

<property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:derby://s007132.cm8:1527/hive_meta;create=true</value><description>JDBC connect string for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>org.apache.derby.jdbc.ClientDriver</value><description>Driver class name for a JDBC metastore</description></property>

此外,注意hdfs上的路径,不要和已有的冲突了。PS:这里配置的路径是hdfs上的

<property><name>hive.metastore.warehouse.dir</name><value>/user/lhy/product_search/hive</value><description>location of default database for the warehouse</description></property><property><name>hive.exec.scratchdir</name><value>/user/lhy/product_search/hive-tmp</value><description>Scratch space for Hive jobs</description></property>

初始化数据库

hive/bin/schematool -dbType mysql -initSchema

启动hive

hive/bin/schematool

报错:

Error: FUNCTION 'NUCLEUS_ASCII' already exists. (state=X0Y68,code=30000)
org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !!

解决办法:

修改derby的script的sql语句,只是掉最前面的两个function

转载于:https://www.cnblogs.com/lfm601508022/p/8850171.html

hive使用derby的服务模式(可以远程模式)相关推荐

  1. Hive 本地模式,远程模式模式的搭建、命令行操作、Hive JDBC操作

    追风赶月莫停留,平芜尽处是春山. 文章目录 追风赶月莫停留,平芜尽处是春山. 环境 下载安装包,解压到合适位置: Hive 本地模式的搭建 一.配置相关的文件: 二.安装并配置MySQL 三.配置Hi ...

  2. hive mysql远程模式_Hive远程模式启动

    1.配置远程服务器MYSQL,并保证远程可以访问 2.$HIVE_HOME/conf/hive-site.xml 关键配置如下 hive.metastore.local false controls ...

  3. hive连接mysql报错_hive远程模式初始化mysql报错

    hive的远程模式需要mysql数据库,需要安装mysql数据库, 创建mysql 数据库用于存储hive的原信息 create database hive DEFAULT CHARSET utf8 ...

  4. Hive远程模式安装指导

    Hive远程模式说明: 在远程模式下,Metastore.Driver(即Hive服务).和CLI分别运行在不同的Runjar进程中,且必须依次启动. 1 安装环境介绍 1.1 相关组件版本 组件版本 ...

  5. Linux网络模式及远程连接出错排障

    Linux网络模式及远程连接出错排障 一.虚拟软件网络模式 1.NAT网络模式 2.桥接网络模式 3.仅主机模式 二.远程连接排错 1.链路通畅 1.1.检查通畅方式:ping 1.2.不通畅原因 2 ...

  6. SOA系列文章(二):服务设计原理:服务模式和反模式

    服务设计系列的法则已经发展到最佳通信实践和取样相关编码的程度.本文提供了设计和实现网络服务的基本原理,并且对面向服务的体系结构(SOA)的相关概念做了一个简要的回顾,以及有关于几种模式和反模式的详细讨 ...

  7. (超简单)ESP8266深度睡眠模式下远程采集温湿度信息

    (超简单)ESP8266深度睡眠模式下远程采集温湿度信息 项目背景 相关技术 ESP8266深度睡眠模式 DHT11温湿度采集 MQTT数据收发 Node.js前后端实现 后端 前端 项目背景 自己用 ...

  8. 【学习日记2023.6.9】之 SpringCloud入门(认识微服务_服务拆分和远程调用RestTemplate_Eureka注册中心_Ribbon负载均衡_Nacos注册中心)

    文章目录 SpringCloud 1. 认识微服务 1.1 单体架构 1.2 分布式架构 1.3 微服务 1.4 SpringCloud 1.5 总结 2. 服务拆分和远程调用 2.1 服务拆分原则 ...

  9. 《面向模式的软件体系结构2-用于并发和网络化对象模式》读书笔记(3)--- 服务访问和配置模式...

    服务访问和配置模式 包装器外观(Wrapper Facade)设计模式把现有的非面向对象的API所提供的函数和数据,封装在更加简洁的.健壮的.可移植的.可维护的和内聚的面向对象的类接口里面.常常应用包 ...

最新文章

  1. Spring Boot开始
  2. gorm 返回多条数据_如何优雅的操作数据库?
  3. 数组|leetcode27.移除元素
  4. xml文档包含html代码_为什么文档很重要,以及为什么应将其包含在代码中
  5. 百度云 网盘无法下载,错误提示:MSXML组件版本太低
  6. JS实现一个简单的计算器
  7. java 图片有损压缩_java - 用有损jpeg压缩多页tiff图像 - 堆栈内存溢出
  8. Quartus17打开RTL视图
  9. Spring AOP(二)之AfterReturning增强处理
  10. caffe 实践程序2——用细分的方法实现caffe中cifar100的识别
  11. mac如何判断本机有没有gpu_属牛人:属牛如何判断一段感情有没有未来
  12. Python开源人脸识别库,识别率达99.38%!内附教程+源码分享
  13. 如何彻底卸载AutoCAD 2018版
  14. Failed to resolve:问题的解决方法
  15. Operator 基础原理和概念
  16. 项目方案宣讲应该注意的内容
  17. 云计算是什么,云计算发展现状是什么?
  18. 【论文阅读】 BPR: Bayesian Personalized Ranking from Implicit Feedback
  19. 2017 ACM Arabella Collegiate Programming Contest A. Sherlock Bones GYM101350A
  20. PLC模拟输入滤波10种方法

热门文章

  1. RotateAnimation 实现表盘指针转动
  2. 常见的一些功能测试用例
  3. 老板:kill -9的原理都不知道就敢到线上执行,明天不用来了!
  4. 高频面试题:如何保证缓存与数据库的双写一致性?
  5. Tomcat相关面试题,看这篇就够了!保证能让面试官颤抖!
  6. 大型网站架构演进的五大阶段盘点
  7. Java Streams,第 2 部分: 使用流执行聚合
  8. 【Python】青少年蓝桥杯_每日一题_4.03_求偶数
  9. vscode怎么运行verilog语言_VScode中不同语言使用不同字体,如C/C++,VHDL
  10. python中的scaler_Python preprocessing.MaxAbsScaler方法代码示例