Ubuntu环境下Hadoop的安全设置涵盖多个层面,旨在提升集群的访问控制、数据保护和运行稳定性,主要包括以下关键措施:
groupadd hadoop创建用户组,再用useradd -r -g hadoop hadoop创建系统用户,避免使用root直接操作Hadoop,降低权限滥用风险。ssh-keygen -t rsa -P ''),将公钥追加到authorized_keys文件(cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys),并设置chmod 600 ~/.ssh/authorized_keys限制密钥文件权限,实现集群节点间安全的无密码登录。chown -R hadoop:hadoop /usr/local/hadoop将Hadoop安装目录归属给hadoop用户,通过hdfs dfs -chmod 755 /user/hadoop设置HDFS目录权限,确保用户仅能访问其授权的资源。sudo visudo添加hadoop ALL=(ALL:ALL) ALL),允许其执行管理员命令,同时避免直接使用root账户。sudo apt-get install krb5-user安装Kerberos客户端,配置krb5.conf文件并获取keytab文件,修改Hadoop的core-site.xml和hdfs-site.xml启用Kerberos认证(如hadoop.security.authentication=kerberos),强制用户通过票据认证访问集群,防止未授权访问。setfacl命令为用户或组分配具体权限,如setfacl -m u:developer:rwx /data/project,补充传统Unix权限模型,支持更灵活的访问控制。core-site.xml启用SSL/TLS,设置hadoop.rpc.protection=privacy(保护RPC通信)、dfs.encrypt.data.transfer=true(加密HDFS数据传输),防止数据在节点间传输时被窃取或篡改。core-site.xml中的hadoop.security.key.provider.path指定密钥提供者路径,确保数据在静止状态下的安全性。ufw(Uncomplicated Firewall)限制访问Hadoop集群的端口,仅开放必要端口(如HDFS NameNode的9000端口、YARN ResourceManager的8088端口),屏蔽不必要的端口(如23、135、137等),并通过ufw allow from 192.168.1.0/24限制允许访问的IP段,减少外部攻击面。sudo apt update && sudo apt upgrade及时安装Ubuntu系统和Hadoop组件的安全补丁,修复已知漏洞(如Hadoop的远程代码执行漏洞),提升系统整体安全性。log4j.properties文件,开启审计日志记录(如log4j.logger.org.apache.hadoop.security=INFO),记录用户的登录、文件访问、权限变更等操作,便于后续追溯异常行为。sudo fail2ban-client set ssh banip 192.168.1.100),防范暴力破解攻击。core-site.xml,设置hadoop.security.authentication=kerberos或simple(配合用户组管理),禁用默认的匿名访问,确保只有认证用户能访问集群资源。/user/hadoop)和Hadoop配置文件(/usr/local/hadoop/etc/hadoop),使用工具如rsync或云存储服务,确保数据丢失或系统故障时可快速恢复。