以账户bi为例
问题一:账户bi beeline ldap后,对于外联表需要外联/user/bi目录下的数据。
解决:
根据sentry文档,需要给/user/bi授权uri ALL权限。
GRANT ALL ON URI 'hdfs://172.20.0.71:8020/user/bi' TO ROLE user_bi_all_role;解决之
问题二:账户bi运行mapreduce需要读取/user/hive/warehouse下的数据。
解决:
一般/user/hive/warehouse属于hive:hive,根据sentry要求,配置771权限。
为了让bi账户对该目录有访问权限,借助acl
hadoop fs -setfacl -R -m user:bi:r-x /user/hive/warehouse 让bi对该目录有读权限解决之
问题三:账户bi beeline ldap登陆后,对于hive表需要从/user/bi下load数据。即账户bi,需要将bi:bi /user/bi目录下的数据转移至hive:hive目录下。
hiveserver2异常:
Failed with exception Unable to move sourcehdfs://myhost:8020/user/bi/aa.txt to destination hdfs://myhost:8020/user/hive/warehouse/bi_system.db/qiu/aa.txt
org.apache.hadoop.hive.ql.metadata.HiveException: Unable to move sourcehdfs://myhost:8020/user/bi/aa.txt to destination hdfs://myhost:8020/user/hive/warehouse/bi_system.db/qiu/aa.txt
at org.apache.hadoop.hive.ql.metadata.Hive.renameFile(Hive.java:2269)
at org.apache.hadoop.hive.ql.metadata.Hive.replaceFiles(Hive.java:2405)
at org.apache.hadoop.hive.ql.metadata.Table.replaceFiles(Table.java:673)
at org.apache.hadoop.hive.ql.metadata.Hive.loadTable(Hive.java:1490)
at org.apache.hadoop.hive.ql.exec.MoveTask.execute(MoveTask.java:275)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:153)
at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:85)
at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1516)
at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1283)
at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1101)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:924)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:919)
at org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:145)
at org.apache.hive.service.cli.operation.SQLOperation.access$000(SQLOperation.java:69)
at org.apache.hive.service.cli.operation.SQLOperation$1$1.run(SQLOperation.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1614)
at org.apache.hadoop.hive.shims.HadoopShimsSecure.doAs(HadoopShimsSecure.java:502)
at org.apache.hive.service.cli.operation.SQLOperation$1.run(SQLOperation.java:213)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.hadoop.security.AccessControlException: Permission denied: user=hive, access=WRITE, inode="/user/bi":bi:bi:drwxr-xr-x
at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.checkFsPermission(DefaultAuthorizationProvider.java:255)
at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.check(DefaultAuthorizationProvider.java:236)
at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.check(DefaultAuthorizationProvider.java:214)
at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.checkPermission(DefaultAuthorizationProvider.java:148)
at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:138)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:6250)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.renameToInternal(FSNamesystem.java:3608)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.renameToInt(FSNamesystem.java:3578)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.renameTo(FSNamesystem.java:3542)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.rename(NameNodeRpcServer.java:727)
解决:需要hive对/user/bi的读写权限,同样借助acl
hadoop fs -setfacl -R -m user:hive:rwx /user/bi 解决之
我在社区的提问,貌似没人回答https://community.cloudera.com/t5/Cloudera-Manager-Installation/with-sentry-and-ldap-hive-can-t-load-data-from-hdfs-or-local/m-p/25413
问题四:
使用udf时,参见http://www.cloudera.com/content/cloudera/en/documentation/core/v5-2-x/topics/cm_mc_hive_udf.html
具体步骤:
1.将jar包放在hive server2节点指定目录,例如/tmp/udf
2.在cloudera manger hive cofiguration中Hive Auxiliary JARs Directory设置如上录
3.重启hive并分发hive client配置(hive加载了jar包)
4.beeline hive超级用户下执行:
create role udf_all_role;
GRANT ALL ON URI 'file:///tmp/udf/hive-udf.jar' TO ROLE udf_all_role;
GRANT ROLE udf_all_role TO GROUP bi;
5.测试
使用bi账户beeline登陆,并执行 CREATE TEMPORARY FUNCTION nvl AS 'com.nexr.platform.hive.udf.GenericUDFNVL';即可。
问题五:
hue配置impala服务时,hue报错
No available Impalad to send queries to.
User 'hive' is not authorized to delegate to 'hue'.
hue中的beewax可正常使用,hive的库权限控制正常使用,但在hue配置中,选择基于impala service时,报如上错误。
解决:
[desktop]
ldap_username=hue
ldap_password=111111
配置hue账号,不能使用hive或者其他admin账号。
分享到:
相关推荐
虽然详细步骤未给出,但通常包括以下几个关键步骤: - 获取Sentry源代码。 - 修改配置文件以适应openEuler环境。 - 配置编译选项,确保与Hadoop和MySQL等其他依赖兼容。 - 使用Maven编译Sentry源代码。 - 安装...
安装Sentry通常分为以下几个步骤: 1. **下载安装包**:可以从Sentry的官方网站或其他可信渠道下载最新版本的安装包。 2. **配置环境变量**:根据实际需求设置必要的环境变量,例如数据库连接信息、缓存服务地址等。...
Cloudera 安全方案的整体架构包括身份认证、权限控制、资源管理和租户管理等几个部分。身份认证部分通过 Sentry 等安全组件来实现身份认证,权限控制部分通过 Sentry 等安全组件来实现权限控制,资源管理部分通过 ...
Hive 内置了几个预定义的角色,如 `PUBLIC`, `DB_OWNER`, `DATA_ADMIN`, `RESOURCE_ADMIN` 等,它们具有不同的默认权限。`PUBLIC` 角色对所有用户可见,而其他角色通常需要管理员显式分配。 4. **Hive 配置文件**...
大数据平台的安全架构通常包括以下几个层次:基础设施、数据源层、数据接入层、数据仓库层、数据应用层以及数据开发和产品门户。安全措施应覆盖整个架构,确保从数据的采集、存储、处理到应用的全过程安全。例如,...
3. **sentry-install.js**: Sentry是一个错误跟踪服务,此文件可能是MetaMask集成Sentry的代码,用于收集和报告程序中的错误信息,帮助开发者识别和修复问题,提高软件的稳定性。 4. **trezor-usb-permissions.html...
Hadoop经历了几个重要的版本迭代: - **0.x系列版本**:这是Hadoop最早的开源版本,奠定了后续版本的基础。 - **1.x版本系列**:此版本主要针对0.x系列版本进行了一些重要的改进和错误修正。 - **2.x版本系列**:...
系统设计上,可能包括以下几个模块: 1. 用户管理:包括用户注册、登录、权限分配等功能。用户可能是游客、管理员或其他工作人员,不同的用户角色有不同的操作权限。 2. 景点信息管理:管理员可以添加、修改、删除...
根据提供的内容,我们可以深入了解以下几个关键知识点: 1. **大数据市场规模**:全球大数据市场规模持续增长,从2013年的186亿美元到2015年的384亿美元,反映出大数据在各行各业中的广泛应用和价值。 2. **大数据...
在比较了上述三种安全方案后,选择Apache Ranger基于以下几个考虑:首先,Ranger支持多组件且覆盖了广泛的Hadoop生态组件;其次,它支持细粒度级别的权限控制,满足了公司对数据资源的精确控制需求;第三,Ranger...
在CDH集群的运维中,以下几个关键知识点是必不可少的: 1. **集群规划与安装**:首先,需要根据业务需求和硬件资源来规划集群规模,包括节点数量、硬件配置以及网络拓扑。CDH的安装通常采用Cloudera Manager进行,...
GVisor 主要由以下几个组件组成: 1. **Runsc**: 这是 GVisor 的运行时,是一个符合 OCI(开放容器倡议)标准的 runtime,它替换掉 Docker 或 Kubernetes 中的标准 runtime (如 runc),用于启动和管理容器。 2. **...
大数据在小米金融中的应用主要体现在以下几个方面: 1. **用户金融画像构建**: 小米金融通过收集用户在小米生态中的各种行为数据,如购买行为、设备使用习惯、社交活动等,创建详细的用户金融画像。这其中包括...
该框架可能涵盖以下几个关键知识点: 1. **MVC模式**:OpenCenter很可能采用了Model-View-Controller架构,这是一种常用的设计模式,用于将业务逻辑、数据模型与用户界面分离,提高代码的可维护性和可扩展性。 2. ...
在React AntD后台管理系统中,主要涉及以下几个关键知识点: 1. **React基础**:理解React的基本概念,包括组件、状态、props等。React组件是构建用户界面的基本单元,状态和props是组件间数据传递的主要方式。 2....
在毕业设计中,选择Python+Django组合构建运维管理系统,通常会涉及以下几个关键知识点: 1. **Django框架基础**:理解Django的模型(Model)、视图(View)、模板(Template)和URL配置,以及中间件(Middleware)...
在此次介绍中,Cloudera强调了几个关键点,包括普世安全、简化实时应用、新技术的引入以及Hadoop和Spark的更新。 首先,普世安全(Universal Security)是Cloudera产品路线图的一个重要组成部分。RecordService被...
本系统设计主要关注以下几个核心知识点: 1. 大数据技术:大数据智能运维系统的基础在于对海量数据的收集、存储、分析和处理。这通常涉及Hadoop、Spark等开源框架,用于分布式数据处理和实时流计算。Hadoop提供了...
通常,这个包会包含以下几个组件: - 一个服务提供者,注册必要的服务和配置。 - 一个模型,用于表示从API获取的数据。 - 控制器,处理请求并调用API。 - 函数库,封装API调用逻辑。 - 配置文件,存放API的密钥...
Cloudera平台的软件体系结构主要包括以下几个模块: 1. **系统部署和管理**:这一模块主要由Cloudera Manager负责,包括Cloudera Manager Server和Cloudera Manager Agent等组件。Cloudera Manager不仅提供了可视化...