首页主机资讯如何在 Debian 上配置 Hadoop 安全设置

如何在 Debian 上配置 Hadoop 安全设置

时间2025-11-27 22:39:03发布访客分类主机资讯浏览214
导读:在 Debian 上配置 Hadoop 安全设置 一 基础安全加固 系统账户与最小权限 为 Hadoop 各组件创建专用系统账户与组(如:hdfs、yarn、mapred,统一归属组 hadoop),遵循最小权限原则;进程与目录分离,避...

在 Debian 上配置 Hadoop 安全设置

一 基础安全加固

  • 系统账户与最小权限
    • 为 Hadoop 各组件创建专用系统账户与组(如:hdfs、yarn、mapred,统一归属组 hadoop),遵循最小权限原则;进程与目录分离,避免以 root 运行服务。
  • 文件与目录权限
    • 本地数据目录与日志目录使用严格的属主与权限,示例:
      • 本地:dfs.namenode.name.dir、dfs.datanode.data.dir → hdfs:hadoop,700
      • 本地日志:$HADOOP_LOG_DIR → hdfs:hadoop,775;$YARN_LOG_DIR → yarn:hadoop,775
      • YARN 本地/日志目录:yarn.nodemanager.local-dirs、yarn.nodemanager.log-dirs → yarn:hadoop,755
      • 容器执行器:container-executor → root:hadoop,6050(setuid/setgid);配置 conf/container-executor.cfg → root:hadoop,只读
    • HDFS 关键目录(示例):
      • / → hdfs:hadoop,755
      • /tmp → hdfs:hadoop,1777(粘滞位)
      • /user → hdfs:hadoop,755
      • yarn.nodemanager.remote-app-log-dir → yarn:hadoop,1777
      • mapreduce.jobhistory.intermediate-done-dir → mapred:hadoop,1777;done-dir → mapred:hadoop,755
  • 防火墙与端口
    • 启用 UFW 并仅开放必要端口(示例):
      • Namenode RPC:8020/9000;Web UI:50070/50470
      • SecondaryNameNode:50090
      • DataNode:50010、50020、50075/50475
      • ResourceManager:8088;调度:8030–8033;NodeManager:8040–8042
      • JobHistory:10020、19888;SSH:22
  • 时间与 DNS
    • 部署 NTP/Chrony 保证节点时间一致(Kerberos 强依赖时间同步);确保 DNS/hosts 解析正确,避免服务主体与主机名不一致导致认证失败。

二 启用 Kerberos 强认证

  • 部署 KDC(Debian 示例)
    • 安装软件包:sudo apt-get install krb5-kdc krb5-admin-server
    • 配置 /etc/krb5.conf(示例):
      • [libdefaults] 中设定 default_realm
      • [realms] 指定 kdcadmin_server
      • [domain_realm] 映射域名与 realm
  • 创建服务与用户主体
    • 在 KDC 上创建主体(示例):
      • addprinc -randkey hdfs/your-nn.example.com
      • addprinc -randkey yarn/your-rm.example.com
      • addprinc -randkey mapred/your-jhs.example.com
      • 导出 keytab(每个节点不同):xst -k /etc/security/keytab/nn.service.keytab hdfs/your-nn.example.com
  • Hadoop 启用安全认证
    • core-site.xml:
      • hadoop.security.authentication=kerberos
      • 可选:hadoop.security.authorization=true(服务级授权)
    • hdfs-site.xml(示例):
      • dfs.namenode.kerberos.principal=nn/_HOST@REALM
      • dfs.namenode.keytab.file=/etc/security/keytab/nn.service.keytab
      • 同理为 dfs.datanode.kerberos.principal/keytab、dfs.secondary.namenode.kerberos.principal/keytab 配置
    • YARN 与 MapReduce(示例):
      • yarn.resourcemanager.principal / keytab、yarn.nodemanager.principal / keytab
      • mapreduce.jobhistory.principal / keytab
    • Web 控制台安全
      • 启用 HTTPS/SSL 保护 Web UI;为 HTTP 主体配置 HTTP/_HOST@REALM 与对应 keytab
    • 用户侧认证
      • 终端用户先 kinit 获取票据;服务进程使用 keytab 自动续票。

三 HDFS 与 YARN 权限与授权

  • HDFS 权限模型
    • 使用 hdfs dfs -chmod/-chown/-setfacl 管理权限;对共享目录(如 /tmp、/user)设置合适权限与粘滞位;对敏感目录采用最小权限与 ACL 细粒度控制。
  • 服务级授权
    • 启用 hadoop.security.authorization 后,通过 core-site.xmlsecurity.service.authorization 相关属性限制服务间访问(白名单)。
  • YARN 与 MapReduce
    • 以专用系统用户运行 ResourceManager/NodeManager/JobHistory(如 yarn、mapred),目录与日志按前述权限配置;提交作业遵循队列与权限策略。

四 运行与验证

  • 启动顺序与票据
    • 先启动 KDC,再启动各 Hadoop 服务;使用 klist 检查票据与 keytab 有效性;服务日志应无 GSSAPI/认证失败 报错。
  • 常用运维与安全模式命令
    • 查看/进入/离开安全模式:hdfs dfsadmin -safemode get|enter|leave
    • 安全模式要点:NameNode 启动时会进入安全模式,待满足数据块安全阈值后自动退出;该机制用于保护数据一致性,与 Kerberos 身份安全是不同维度(不要混淆)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何在 Debian 上配置 Hadoop 安全设置
本文地址: https://pptw.com/jishu/758381.html
Ubuntu FTP服务器安全配置方法 Debian Hadoop 集群资源管理策略有哪些

游客 回复需填写必要信息