User: root is not allowed to impersonate root (state=08S01,code=0)
问题描述:
hadoop集群和hive安装成功以后,在hive安装目录下使用bin/hive命令进入hive界面,在里面增删改查都没有问题,但是
使用bin/hiveserver2启动hiveserver2服务,然后使用beeline(bin/beeline -u jdbc:hive2://hdp01:10000 -n xx -p xxx)连接hiveserver2报错:
Error: Could not open client transport with JDBC Uri: jdbc:hive2://hdp01:10000: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate anonymous (state=08S01,code=0)
然后到网上查了一下资料,都是清一色的在hadoop的core-site.xml文件中加入以下配置(其中root需要替换成你使用beeline命令时-n指定的值):
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property><property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
确实,改了core-site.xml文件配置以后重启hadoop集群,使用beeline进入hiveser2服务能成功,但是在里面对表数据进行更改时(eg: insert),同样还是报
Error: Could not open client transport with JDBC Uri: jdbc:hive2://hdp01:10000: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate anonymous (state=08S01,code=0)
显然使用这种办法是不行的,后来我去官方文档查看hiveserver2配置时发现了关于impersonate (冒充)的配置选项。
解决办法:
按照官方文档配置了以后,能够正常运行了,即使将上述配置移除以后,单独使用hive官方文档的配置也能正常使用。
网址:https://cwiki.apache.org/confluence/display/Hive/Setting+Up+HiveServer2
关键字: Impersonation
原文:
By default HiveServer2 performs the query processing as the user who submitted the query. But if the following parameter is set to false, the query will run as the user that the
hiveserver2
process runs as.
hive.server2.enable.doAs – Impersonate the connected user, default true.
这句话的意思是:默认情况下HiveServer2 执行查询时使用的用户是提交查询的用户.但是如果将这个选项设置为false,查询将会使用运行hiveserver2的用户。
在conf/hive-site.xml中加入以下配置:
<property> <name>hive.server2.enable.doAs </name> <value>false</value> </property>
然后使用命令bin/hiveserver2重新启动hiveserver2服务,然后使用beeline连接hiveser2,然后对表进行增删改查都不会报错了,同时使用beeline时都可以不用指定用户和密码了(bin/beeline -u jdbc:hive2://hdp01:10000)。
在此记录和共享出来。
原文地址:https://www.cnblogs.com/yangji0202/p/15012449.html
- 学大伟业Day解题报告
- Python数据增强(data augmentation)库--Augmentor 使用介绍
- Leetcode-Easy 101. Symmetric Tree
- 数据结构-栈的定义及python实现
- 【关关的刷题日记59】Leetcode 257 Binary Tree Paths
- 学大伟业 国庆Day2
- ECMAScript 6入门 - 变量的解构赋值
- 二叉排序树 python实现
- ES6新特性概览
- 数据结构-顺序表的定义及python实现
- 洛谷P1516 青蛙的约会
- python实现二叉树的创建和遍历
- python中numpy模块下的np.clip()的用法
- Leetcode-Easy 543. Diameter of Binary Tree
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Spring对JDBC的模板支持——JdbcTemplate
- 搭建ELK日志分析平台(上)—— ELK介绍及搭建 Elasticsearch 分布式集群
- Hadoop集成Spring的使用
- 通过Jenkins部署java项目
- Spring使用注解配置依赖注入
- Spring的依赖注入
- 通过Jenkins发布php代码
- 初识Spring
- 使用Python的BeautifulSoup库实现一个可以爬取1000条百度百科数据的爬虫
- 初识Spark
- 初识SpringBoot
- MyBatis结果集映射
- Hadoop分布式集群环境搭建
- 使用Hadoop统计日志数据
- Mybatis在接口上使用注解配置SQL语句以及接口与xml一起使用