• 数据仓库搭建_hdfs,ACL权限认证(可以精确到个人的权限)


    1、数据仓库搭建

    数据仓库搭建

    前提条件,Hadoop,hive

    数据仓库分层作用
    1、控制数据访问权限
    2、减少重复计算,减少重复开发
    3、为了更好的管理数据
    4、让表使用者更方便使用数据

    数据规范
    1、分词规范,ODS,DWD,DWS,ADS,DIM,每个公司分层的方式是不一样的,
    2、命令规范,
    库命名规范:每一个层对应hive中一个库,每一层对应hdfs中一个目录
    表命名规范,每个定义都是由规则的,一般会使用库名作为前缀
    字段命令规范
    分区的命令规范
    路径的命名规范
    3、上调度规范

    1.1、开启hdfs的权限认证, 以及ACL认证

    在没有开启之前,任何用户都可以随意的删除root用户下的文件,这就可能造成了严重的安全隐患。所以我们在项目中就必须对每一层的文件设置权限

    1、普通权限认证只能控制到当前用户,当前用户所属的组,其它用户,不能精确到每一个其它用户

    2、ACl可以做到每一个用户权限认证,

    rwx r-x r-x
    第一部分是当前用户的权限
    第二部分是当前用户所在组的权限
    第三部分其它用户的权限

    Failed to move to trash: hdfs://master:9000/data: Permission denied: user=test, access=WRITE, inode="/":root:supergroup:drwxr-xr
    -x

    用户test对/这个目录没有权限,需要WRITE

    1. # 修改hdfs-site.xml文件,将权限认证打开
    2. dfs.permissions
    3. true
    4. dfs.namenode.acls.enabled
    5. true
    6. # 如果是分布式集群需要同步配置文件,同步到所有节点
    7. scp hdfs-site.xml node1:`pwd`
    8. # 重启hadoop
    9. stop-all.sh
    10. start-all.sh
    11. # 增加权限的命令
    12. hadoop dfs -chmod 755 /user
    13. 755: 其它用户可以读取,不能修改
    14. # 将hdfstmp的目录权限给所有的用户
    15. hadoop dfs -chmod -R 777 /tmp
    16. hadoop dfs -mkdir -p /data/gender_num
    17. hadoop dfs -chmod 700 /data/gender_num
    18. # acl设置权限
    19. # 可以单独为每一个用户设置权限
    20. hdfs dfs -setfacl -R -m user:test:r-x /nihao.txt
    21. # acl删除权限
    22. hdfs dfs -setfacl -R -x user:test /nihao.txt
    23. # 查看权限
    24. hdfs dfs -getfacl /nihao.txt

    hdfs dfs -getfacl /daas/motl/ods

    1.2、为每一个层创建一个用户

    1. useradd ods
    2. passwd ods
    3. useradd dwd
    4. passwd dwd
    5. useradd dws
    6. passwd dws
    7. useradd dim
    8. passwd dim
    9. useradd ads
    10. passwd ads

    1.3、为每一个层创建一个hive的库

    1. create database ods;
    2. create database dwd;
    3. create database dws;
    4. create database dim;
    5. create database ads;

    1.4、为每一个层在hdfs中创建一个目录

    将目录的权限给到层所属的用户

    1. hadoop dfs -mkdir -p /daas/motl/ods
    2. hadoop dfs -mkdir -p /daas/motl/dwd
    3. hadoop dfs -mkdir -p /daas/motl/dws
    4. hadoop dfs -mkdir -p /daas/motl/dim
    5. hadoop dfs -mkdir -p /daas/motl/ads
    6. # 修改权限
    7. hadoop dfs -chown ods:ods /daas/motl/ods
    8. hadoop dfs -chown dwd:dwd /daas/motl/dwd
    9. hadoop dfs -chown dws:dws /daas/motl/dws
    10. hadoop dfs -chown dim:dim /daas/motl/dim
    11. hadoop dfs -chown ads:ads /daas/motl/ads
    12. hadoop dfs -chmod 750 /daas/motl/ods
    13. hadoop dfs -chmod 750 /daas/motl/dwd
    14. hadoop dfs -chmod 750 /daas/motl/dws
    15. hadoop dfs -chmod 750 /daas/motl/dim
    16. hadoop dfs -chmod 750 /daas/motl/ads
    17. # 每个层只有自己可以读写,其它用户没有读写权限,如果其它用户需要使用某一个层的数据,可以开通权限

    1.5、解决hive tmp目录权限不够问题

    1、修改hive-site.xml文件

    删除以下三行配置的value

    1. <name>hive.exec.local.scratchdirname>
    2. <name>hive.downloaded.resources.dirname>
    3. <name>hive.querylog.locationname>

    2、替换spark中的hive-site.xml文件

    cp /usr/local/soft/hive-1.2.1/conf/hive-site.xml /usr/local/soft/spark-2.4.5/conf/

    测试

    1. -- 使用ods用户进入hive测试
    2. -- 切换到ods用户进入hive中创建表
    3. -- 使用ods登录服务器
    4. ssh ods@192.168.129.201
    5. -- 进入hive创建表
    6. create table ods.student
    7. (
    8. id string,
    9. name string,
    10. age int,
    11. gender string,
    12. clazz string
    13. )
    14. ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
    15. STORED AS textfile
    16. location '/daas/motl/ods/student/';
    17. -- 上传数据 需要使用ods用户上传数据
    18. hadoop dfs -put students.txt /daas/motl/ods/student
    19. -- 登录到dwd用户
    20. ssh dwd@192.168.129.201
    21. -- 其它用户需要使用这个额表的时候设置权限
    22. -- 需要使用ods这个用户来给dwd这个用户开通权限
    23. -- 开通ods层的权限
    24. hdfs dfs -setfacl -m user:dwd:r-x /daas/motl/ods
    25. hdfs dfs -setfacl -R -m user:dwd:r-x /daas/motl/ods/student/
  • 相关阅读:
    基因组学课件整理
    使用uncompyle6反编译pyc文件(附报KeyError和Error: uncompyle6 requires Python 2.6-3.8的解决方法)
    ROS分布式演练,多台设备进行通信的配置
    51单片机超声波测距代码
    压缩算法介绍
    uniapp Uview step步骤图 写自己的样式(如图)
    Volatile从浅到深
    【C语言】const 关键字
    使用dotnet-monitor sidecar模式 dump docker运行的dotnet程序.
    AR智能眼镜主板硬件设计_AR眼镜光学方案
  • 原文地址:https://blog.csdn.net/weixin_48370579/article/details/126168140