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.gz
tar -xzvf ./db-derby-10.14.1.0-bin.tar.gz
cd 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

hive使用derby的服务模式(可以远程模式)的更多相关文章

  1. 八、hive3.1.2 安装及其配置(本地模式和远程模式)

    目录 前文 hive3.1.2 安装及其配置(本地模式和远程模式) 1.下载hive包 2.修改其环境变量 3.MySQL配置 Centos7 MySQL安装步骤: 1.设置MySQL源 2.安装My ...

  2. Hive的三种安装方式(内嵌模式,本地模式远程模式)

    一.安装模式介绍:     Hive官网上介绍了Hive的3种安装方式,分别对应不同的应用场景.     1.内嵌模式(元数据保村在内嵌的derby种,允许一个会话链接,尝试多个会话链接时会报错)   ...

  3. Hive基础(4)---Hive的内置服务

    版权声明:<—— 本文为作者呕心沥血打造,若要转载,请注明出处@http://blog.csdn.net/gamer_gyt <——   目录(?)[+]   一:Hive的几种内置服务 ...

  4. JAVA与.NET的相互调用——利用JNBridge桥接模式实现远程通讯

    分布式开发的历史 利用Remote方式调用远程对象实现服务器与客户端之间通讯是一种常用的网络开发方式,在.NET与JAVA开发当中,对Remote远程对象早已有着足够的支持(对Remote远程对象调用 ...

  5. Nginx 因 Selinux 服务导致无法远程訪问

    文章来源:http://blog.csdn.net/johnnycode/article/details/41947581 2014-12-16日 昨天晚上处理好的网络訪问连接.早晨又訪问不到了. 现 ...

  6. 性能测试之JMeter远程模式

    性能测试之JMeter远程模式 事实上,你的JMeter客户端机器是不能表现出完美的压力请求,来模拟足够多的用户或由于网络限制去向服务施加压力,一种解决方法是通过一个JMeter去控制多个/远程JMe ...

  7. Spring Security OAuth2 微服务认证中心自定义授权模式扩展以及常见登录认证场景下的应用实战

    一. 前言 [APP 移动端]Spring Security OAuth2 手机短信验证码模式 [微信小程序]Spring Security OAuth2 微信授权模式 [管理系统]Spring Se ...

  8. Windows Azure Cloud Service (41) 修改云服务IIS托管管道模式为4.0经典模式

    <Windows Azure Platform 系列文章目录> 这是笔者在之前的项目中遇到的问题,做一下总结,给网友做参考. 在一般情况下,Visual Studio开发的Cloud Se ...

  9. 【架构之路之WCF全析(一)】--服务协定及消息模式

    上周微软开公布会说.NET支持全然跨平台和并开放Core源代码的新闻,让我们顿时感到.NET要迎来它的春天.尽管早在几年前.NET就能开发Android和IOS,可是这次的跨平台把Linux都放到了微 ...

随机推荐

  1. js 数组删除元素,并获得真实长度

    前言:js数组删除一般采用数组的 splice 方法和 delete 方法,但是采用 delete 方法后直接数组.kength 来获取数组长度是获取不了真实长度的,下面详细讲解一下. 一.splic ...

  2. ASP.NET MVC扩展库

    很多同学都读过这篇文章吧 ASP.NET MVC中你必须知道的13个扩展点,今天给大家介绍一个ASP.NET MVC的扩展库,主要就是针对这些扩展点进行.这个项目的核心是IOC容器,包括Ninject ...

  3. C# 运算符 ++在前与++在后实例分析。

    首先记住计算技巧“++在前先+1,++在后后+1”. static void Main(string[] args) { int i = 10; Console.WriteLine(i);//此时i的 ...

  4. JVM的逃逸分析

    我们都知道Java中的对象默认都是分配到堆上,在调用栈中,只保存了对象的指针.当对象不再使用后,需要依靠GC来遍历引用树并回收内存.如果堆中对象数量太多,回收对象还有整理内存,都会会带来时间上的消耗, ...

  5. IOT安全

    相关资源 IOT 漏洞 top 10 https://xz.aliyun.com/t/2278 https://www.owasp.org/images/8/8e/Infographic-v1.jpg ...

  6. python中的字符串编码问题——2.理解ASCII码、ANSI码、Unicode编码、UTF-8编码

    ASCII码:全名是American Standard Code for Information Interchange,ASCII码中,一个英文字母(不分大小写)占一个字节的空间,范围0x00~0x ...

  7. CSS 小结笔记之定位

    定位也是Css中一个非常强大的属性.定位主要是用来移动盒子,将其移动到我们想要的位置. 定位分为两部分 1.边偏移 left | right |top |bottom:偏移大小:(边偏移一般制定上就不 ...

  8. Spring常用注解简单汇总

    使用注解之前要开启自动扫描功能,其中base-package为需要扫描的包(含子包). <context:component-scan base-package="cn.test&qu ...

  9. C#实体类对象修改日志记录

    C#实体类对象修改日志记录 类型验证帮助类 public static class TypeExtensions { public static bool InheritsFrom(this Type ...

  10. InputStream转换为String, byte[] data = new byte[1024]详解

    /** * This file created at 2018年2月28日. * * Copyright (c) 2002-2018 Bingosoft, Inc. All rights reserv ...