hive jdbc执行select count(*) from test报错。
  return code 1 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
  google网调(百度毛也没有搜到,还是国内大牛都不屑于回答问题),终于发现原来是因为jdbc需要在代码中指定用户(可以不指定密码),代表可以使用哪个用户来调用该语句。
  这个问题解决了大数据的多租户问题;在代码中只要通过jdbc链接字符串指定了用户名(id都不需要指定)即可指定执行用户的名称;

  hive的jdbc字符串+YARN的resource pool也就实现了多租户处理。

  至于用于,一定是要在hadoop目录的/user下面已经存在的用户;如果需要创建:
  hadoop fs -mkdir /user/bd
  hadoop fs -chown bd:bd /user/bd
即可。
  如上创建目录以及目录权限之后,就可以进行MapReduce操作了。
    在hadoop世界里面,宿主机的用户和和hadoop用户映射的,一般情况下,都是当前机器执行用户来扮演同名的hadoop用户。上例,bd是centos用户,但是开始没有在hadoop中进行创建;在hive的jdbc的链接串的时候指定bd用户,将会返回retun code 1,看一下日志可以发现是权限问题。
但是也不是绝对,对于hive这种情况下,可能并不是在系统中直接运行脚本,而是通过api去告诉YARN用户名,也不需要和系统用户一一对应;比如在cloudera安装的CDH默认会创建HUE2用户,这个用户就没有对应系统用户。

hive JDBC异常到多租户的更多相关文章

  1. Hive jdbc连接出现java.sql.SQLException: enabling autocommit is not supported

    1.代码如下 String url = "jdbc:hive2://master135:10000/default"; String user = "root" ...

  2. Hive学习之六 《Hive进阶— —hive jdbc》 详解

    接Hive学习五 http://www.cnblogs.com/invban/p/5331159.html 一.配置环境变量 hive jdbc的开发,在开发环境中,配置Java环境变量 修改/etc ...

  3. JDBC 异常特殊原因 (数据库只读解决办法)

    JDBC 异常特殊原因   有时候并不是因为程序写的有问题  ,是因为  数据库只读 在sqlserver2005中附加数据库时,附加的数据库会变成只读的,只能进行查询操作. 解决方法: 1 打开Sq ...

  4. Hive 8、Hive2 beeline 和 Hive jdbc

    1.Hive2 beeline  Beeline 要与HiveServer2配合使用,支持嵌入模式和远程模式 启动beeline 打开两个Shell窗口,一个启动Hive2 一个beeline连接hi ...

  5. JDBC异常之数据库表不存在

    JDBC异常之数据库表不存在 1.具体错误如下: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Table 'YHD.t_yhd_ ...

  6. Hive JDBC:java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate anonymous

    今天使用JDBC来操作Hive时,首先启动了hive远程服务模式:hiveserver2 &(表示后台运行),然后到eclipse中运行程序时出现错误: java.sql.SQLExcepti ...

  7. JDBC 异常简介 jDBC简介(六)

    SQL 异常简介 对于数据库的操作访问,必然也很可能抛出异常. JDBC中定义了SQLException,用于描述数据库相关操作中可能出现的异常情况. java.sql.SQLException    ...

  8. 使用Spring Boot操作Hive JDBC时,启动时报出错误:NoSuchMethodError: org.eclipse.jetty.servlet.ServletMapping.setDef

    使用Spring Boot操作Hive JDBC时,启动时报出错误:NoSuchMethodError: org.eclipse.jetty.servlet.ServletMapping.setDef ...

  9. Hive JDBC——深入浅出学Hive

    第一部分:搭建Hive JDBC开发环境 搭建:Steps •新建工程hiveTest •导入Hive依赖的包 •Hive  命令行启动Thrift服务 •hive --service hiveser ...

随机推荐

  1. java基础—— Collections.sort的两种用法

    package com.jabberchina.test; import java.util.ArrayList; import java.util.Collections; import java. ...

  2. 【HackerRank】Find the Median(Partition找到数组中位数)

    In the Quicksort challenges, you sorted an entire array. Sometimes, you just need specific informati ...

  3. java多线程下载文件和断点下载

    多线程,断点下载文件 import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; impor ...

  4. js常用方法汇总

    产生在m.n之间的随机整数 //Math.round()把数四舍五入为最接近的整数. function random(m, n) { return Math.round(Math.random() * ...

  5. INSPIRED启示录 读书笔记 - 第16章 市场调研

    常用的市场调研工具和方法 用户调查:第一,设计调查问卷需要技巧和经验,不是一件容易的事:第二,调查结果为获得解决方案提供了一要途径,但不是解决方案本身 产品使用分析:使用分析工具记录用户使用产品的行为 ...

  6. avaweb学习总结(八)——HttpServletResponse对象(二)

    一.HttpServletResponse常见应用——生成验证码 1.1.生成随机图片用作验证码 生成图片主要用到了一个BufferedImage类,

  7. .NET 中如何判断文件与目录

    FileInfo fileInfo = new FileInfo(pth); if ((fileInfo.Attributes & FileAttributes.Directory) != 0 ...

  8. awk实现替换字符串中指定位置之间的内容

    # 显示第xx行的第yy列的一个字符sed -n 'xx,xxp' file | awk '{print substr($0,yy,1);}' # 修改第xx行的第yy列的一个字符Chr,并保存为新文 ...

  9. mac下查看占用端口的进程及杀死进程

    mac lsof -i :9000 kill -9 716

  10. ElasticSearch入门常用命令

    基于开源项目MyAlice智能客服学习ElasticSearch https://github.com/hpgary/MyAlice/wiki/%E7%AC%AC01%E7%AB%A0%E5%AE%8 ...