`
lookqlp
  • 浏览: 346077 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

请您先登录,才能继续操作

cloudera新增用户权限配置

阅读更多
目标:

给各个业务组提供不同用户及用户组,并有限制的访问hdfs路径,及hive数据库。

前提:

cloudera

cloudera manager

kerberos

ldap

sentry

问题与解决:
  • hive client直走hive的本地模式,没有经过hiveserver2,所以此种方式能访问所有的数据库,具有超级管理员权限;考虑使用beeline形式。

    登陆方式例如:

     

    beeline -u "jdbc:hive2://172.20.0.74:10000/data_system" -nhive -p111111(ldap账户及密码)

     

    或者

     

    beeline
    !connect jdbc:hive2://172.20.0.74:10000/data_system;principal=hive/slave-74@YEAHMOBI.COM

     输入kerberos账户及密码。

     

  • hue版本3.6.0不支持hive ldap,hue会提示不没有hive server2服务,参考issue

     

    cd /opt/cloudera/parcels/CDH/lib/hue
    patch -p1 < /path/to/downloaded/hue-2484.patch
     hive所有advanced safety value中加上配置:

     

     

    <property>
      <name>hive.server2.authentication</name>
      <value>LDAP</value>
    </property>
     restart Hue

     

    未解决问题:hue账户未能与ldap账户同步。

步骤:
  1. 收集用户及用户组,及对个个库的访问权限。例如bi组对bi库有读写权限及对其他库具有读权限。
  2. 所有节点增加用户和用户组
    useradd bi -u 1001
    usermod -a -G bi bi
     (所有节点都需要创建,而且uid必须一致)
  3. ldap增加账户及账户组
    grep -E "dsp:|dmp:" /etc/passwd  >/opt/passwd.txt    
    /usr/share/migrationtools/migrate_passwd.pl /opt/passwd.txt /opt/passwd.ldif
    ldapadd -x -D "uid=ldapadmin,ou=people,dc=yeahmobi,dc=com" -w secret -f /opt/passwd.ldif
    grep -E "dsp:|dmp:" /etc/group  >/opt/group.txt
    /usr/share/migrationtools/migrate_group.pl /opt/group.txt /opt/group.ldif
    ldapadd -x -D "uid=ldapadmin,ou=people,dc=yeahmobi,dc=com" -w secret -f /opt/group.ldif
    ldappasswd -x -D 'uid=ldapadmin,ou=people,dc=yeahmobi,dc=com' -w secret "uid=dsp,ou=people,dc=yeahmobi,dc=com" -S  
    ldappasswd -x -D 'uid=ldapadmin,ou=people,dc=yeahmobi,dc=com' -w secret "uid=dmp,ou=people,dc=yeahmobi,dc=com" -S   
    ldappasswd -x -D 'uid=ldapadmin,ou=people,dc=yeahmobi,dc=com' -w secret "uid=bi,ou=people,dc=yeahmobi,dc=com" -S   
  4. hadoop中增加相应用户的目录及权限
    hadoop fs -mkdir /user/dsp
    hadoop fs -chmod -R 755 /user/dsp
    hadoop fs -chown -R dsp:dsp /user/dsp
  5. hive配置ldap
    若之前启用了sentry file形式的服务,需要将policy file based sentry enabled 设置成false,并且service wide中选择sentry service。
    service wide advanced safed value
    <property>
      <name>hive.server2.authentication</name>
      <value>LDAP</value>
    </property>
    <property>
      <name>hive.server2.authentication.ldap.url</name>
      <value>ldap://ip-10-1-33-20.ec2.internal</value>
    </property>
    <property>
      <name>hive.server2.authentication.ldap.baseDN</name>
      <value>ou=people,dc=yeahmobi,dc=com</value>
    </property>
     gateway/metastory/hiveserver2 advanced safed value分别加上
     <property>
      <name>hive.server2.authentication</name>
      <value>LDAP</value>
    </property>
     hue依赖于hive gateway的配置,即必须配置gateway,且修改后hue需要重启。
  6. 如上问题2
  7. hue设置ldap
    hue server advanced hue_safety_value_server.ini
    [desktop]
     ldap_username=hive
     ldap_password=111111
     并且选择sevice wide sentry service
  8. hdfs kerberos配置中增加hdfs的权限
    service wide security
    authorized user、groups设置成* 也行
  9. yarn增加用户的使用权限
    nodemanger group  security allowed system users
  10. 重启相关服务,cloudera manager会提示重启整个集群。
  11. hive server2和metastore启动失败,奇怪现象,测试环境中没有问题,正式环境中出现认证异常,只要加上ldap认证就会失败。
    解决办法,重新再别的节点配置新的hive sever2和metastore并且cm上创建新的group。
    注意此种解决方案,hue的配置中需要修改hive server2的路径。
  12. 授权,beeline中使用hive账户登陆和授权
    beeline -u "jdbc:hive2://172.20.0.74:10000/default" -nhive -p111111
    CREATE ROLE admin_role ;
    GRANT ALL ON SERVER server1 TO ROLE admin_role;
    GRANT ROLE admin_role TO GROUP hive; 
  13. 权限测试,使用新账户登陆测试
    beeline -u "jdbc:hive2://172.20.0.74:10000/default" -nbi -p111111
    或者通过hue,新建对应账户,beeswax测试。(此处hue与ldap账户没有同步,同步失败,后续解决)
  14. 新增加的账户,若需要访问/user/hive/warehouse,即可能需要读取db下的表数据,进行mapreduce job,如上配置后,由于该目录设置的是771(sentry service要求的),新增账户没有访问权限,想到如下解决办法:
    a.将新增账户赋予hive为附加组(所有节点),经过测试可以访问该目录了,但sentry的grant授权没有效果了,即该账户继承了hive的超级权限,此方法失败。
    b.采用acl,hdfs开启dfs.namenode.acls.enabled,并hdfs执行如下命令:
       hadoop fs -setfacl -R -m user:bi:r-x  /user/hive/warehouse,测试是通过的,而且权限都正确。此步骤需要重启整个集群。参考http://www.cloudera.com/content/cloudera/en/documentation/core/latest/topics/cdh_sg_hdfs_ext_acls.html
  15. kerberos对新用户(bi)授权
    addprinc -randkey krbtgt/new_hostname@YEAHMOBI.COM
    addprinc -randkey host/new_hostname@YEAHMOBI.COM 
    addprinc -randkey HTTP/new_hostname@YEAHMOBI.COM 
    addprinc -randkey bi/new_hostname@YEAHMOBI.COM
    xst -norandkey -k bi.keytab host/new_hostname@YEAHMOBI.COM 
    xst -norandkey -k bi.keytab HTTP/new_hostname@YEAHMOBI.COM
    xst -norandkey -k bi.keytab bi/new_hostname@YEAHMOBI.COM
  16. mapreduce测试
    kinit -kt bi.keytab bi/new_hostname@YEAHMOBI.COM
    执行hadoop jar 测试
  17. jdbc测试,参见 git clone https://github.com/firecodeman/Cloudera-Impala-Hive-JDBC-Example.git
    mvn clean compile
    mvn exec:java -Dexec.mainClass=com.cloudera.example.ClouderaHiveJdbcExample
分享到:
评论
1 楼 yangze 2016-12-17  
博主请教一个问题,hue 控制hive表的权限怎么弄? 怎么联系您

相关推荐

    cloudera manager中添加hive数据库使用mysql的配置步骤

    在Cloudera Manager中配置Hive使用MySQL数据库涉及多个步骤,从卸载CentOS默认MySQL到配置完毕,下面详细说明每一步的知识点。 首先,确保在添加Hive数据库前,系统中不存在先前安装的MySQL版本。使用命令rpm -qa |...

    Cloudera CDH 安装和配置文档

    为了便于系统管理员和Hadoop用户安装和管理Cloudera CDH,文档详细介绍了从机器规划到各组件的安装与配置过程。接下来,我将详细阐述这些知识点。 ### 第1章 系统概述 #### 1.1 机器规划 机器规划是实施Hadoop集群...

    大数据管理与监控:Cloudera Manager:ClouderaManager安装与配置.docx

    大数据管理与监控:Cloudera Manager:ClouderaManager安装与配置.docx

    Cloudera Search安全配置1

    在进行Cloudera Search的安全配置前,需要确保CDH集群已经开启了Kerberos功能,并且通过kadmin创建了用户,例如在描述中提到的用户dol(全名dol@CDH.COM)。 接下来,我们需要将Cloudera Search的认证方式从默认的...

    clouderaManager配置.xlsx

    128GB大数据服务器安装CDH HADOOP的配置,对hbase solr spark hdfs等服务的配置项 经过真实的数百亿数据的测试,单台10亿3台百亿30台千亿

    Cloudera Hadoop 安装指南

    - 完成配置后,Cloudera Manager会自动部署并配置所选的服务和组件,用户应耐心等待部署过程结束。 ### 结论 Cloudera Hadoop安装指南是一份非常重要的文档,对于想要部署Hadoop集群的用户来说具有极高的参考价值...

    CLOUDERA-Manager_中文手册(全 高清)+ CDH安装手册.pdf

    * 权限管理:Cloudera Manager提供了完善的权限管理功能,能够控制用户对Hadoop集群的访问权限。 监控功能 Cloudera Manager提供了多种监控功能,包括: * 集群及服务实时监控:Cloudera Manager提供了实时的监控...

    cloudera 对kafka 安全、配置、优化和管理的建议 pdf

    1. **权限控制**: Cloudera推荐使用Kerberos进行身份验证,以确保只有授权的用户和服务可以访问Kafka集群。Kerberos提供基于票证的认证,可防止未授权访问。 2. **SSL/TLS加密**: 为了保护数据在传输过程中的安全性...

    Cloudera技术参考资料

    - **概述:** Cloudera Manager 是一款用于管理 Cloudera Hadoop 集群的工具,可以简化集群的安装、配置和监控过程。 - **优势:** 提供图形化界面,支持自动化部署,具备丰富的监控指标和警报系统。 4. **...

    cloudera 5.12.zip

    这个版本的Cloudera Manager和CDH(Cloudera Distribution Including Apache Hadoop)组合在一起,为用户提供了数据存储、处理和分析的一站式服务。下面我们将详细探讨Cloudera 5.12的核心特点、安装过程以及它所...

    Cloudera 5.4.x Documentation系列官方文档

    cloudera-administration.pdf-配置管理文档 cloudera-datamgmt.pdf-数据管理文档 cloudera-impala.pdf-impala使用文档 cloudera-installation.pdf-安装CDH和CM的文档 cloudera-introduction.pdf-基本介绍文档 ...

    CLOUDERA-Manager-中文手册

    - **权限管理**:Cloudera Manager具备精细的权限控制机制,能够设定不同用户和团队对集群、服务及数据的访问权限,确保数据安全和合规性。 2. **监控功能** - **集群及服务实时监控**:Cloudera Manager提供了...

    Cloudera CDH集群运维手册

    手册会解释如何设置用户权限、角色和访问控制,以及如何实现数据加密和审计日志。 6. **故障排查与性能优化**:运维手册通常会提供故障排查的步骤和常见问题的解决方案,如节点失联、磁盘满等问题。同时,性能优化...

    cloudera官方文档

    资源名称:cloudera官方文档资源目录:【】cloudera-administration【】cloudera-datamgmt【】cloudera-impala【】cloudera-installation【】cloudera-introduction【】cloudera-operation【】Cloudera-Opera ...

    CLOUDERA-Manager_中文手册(全)

    本文是关于Cloudera Manager的中文手册,将详细介绍Cloudera Manager的版本、安装、配置、API、安全以及与Cloudera CDH的关系等内容。Cloudera Manager是Cloudera公司开发的一款用于简化Apache Hadoop集群管理的工具...

    cloudera search官网参考资料

    而**不使用Cloudera Manager**进行安装则需要手动处理更多的配置细节,比如安装ZooKeeper、配置Solr环境变量等。 总的来说,Cloudera Search的部署涉及多个层面,包括集群管理、索引构建、数据存储以及安全性。理解...

    Cloudera Introduction官方介绍文档

    此外,文档结尾提供了Cloudera公司的联系信息,包括办公地址、电话和电子邮件等,确保用户可以就产品信息、技术支持或其他问题与Cloudera取得联系。 整体来看,Cloudera官方介绍文档详细地展示了Cloudera公司的产品...

    java调用Cloudera Manager Api实例

    Cloudera Manager提供了RESTful API,允许开发者通过HTTP请求来获取集群信息、配置服务、管理用户权限等。在Java中,我们可以使用诸如Apache HttpClient或OkHttp这样的库来发送HTTP请求。 1. **配置环境**: 在...

    cloudera-impala官方手册

    - **易于部署和管理**:Cloudera Manager 提供了一个统一的界面用于部署、配置和监控 Impala,大大简化了系统的运维工作。 #### 五、Impala 使用注意事项 根据官方文档中的版权声明,使用 Impala 时需注意以下几点...

    Cloudera Manager API v32.docx

    使用 Cloudera Manager API v32,开发者和管理员可以编写脚本或集成现有工具,实现对 Cloudera 集群的自动化管理,包括安装、配置、升级、监控和故障排查等。此外,通过 API,可以实现更高效的工作流程,例如自动...

Global site tag (gtag.js) - Google Analytics