Hadoop集群部署教程-P5
Hadoop集群部署教程(续)
第十七章:安全增强配置
17.1 认证与授权
-
Kerberos认证集成:
# 生成keytab文件 kadmin -q "addprinc -randkey hdfs/master@EXAMPLE.COM" kadmin -q "xst -k hdfs.keytab hdfs/master@EXAMPLE.COM" # 配置core-site.xml <property> <name>hadoop.security.authentication</name> <value>kerberos</value> </property>
-
基于角色的访问控制:
# 创建HDFS目录并设置权限 hdfs dfs -mkdir /data hdfs dfs -chown admin:admin /data hdfs dfs -chmod 750 /data
17.2 数据加密
-
传输层加密:
<!-- 在core-site.xml中 --> <property> <name>hadoop.ssl.enabled</name> <value>true</value> </property>
-
静态数据加密:
# 创建加密区域 hdfs crypto -createZone -keyName mykey -path /secure
第十八章:资源调度优化
18.1 YARN队列配置
-
多队列资源分配:
<!-- 在capacity-scheduler.xml中 --> <property> <name>yarn.scheduler.capacity.root.queues</name> <value>prod,dev,test</value> </property> <property> <name>yarn.scheduler.capacity.root.prod.capacity</name> <value>60</value> </property>
-
动态资源调度:
# 启用资源自动调整 yarn rmadmin -refreshQueues
18.2 容器资源分配
-
内存配置优化:
# 计算YARN容器内存分配 Container Memory = min( yarn.nodemanager.resource.memory-mb / yarn.nodemanager.resource.cpu-vcores, yarn.scheduler.maximum-allocation-mb )
第十九章:高可用性架构
19.1 NameNode HA
-
故障转移配置:
<!-- 在hdfs-site.xml中 --> <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property> <property> <name>ha.zookeeper.quorum</name> <value>zk1:2181,zk2:2181,zk3:2181</value> </property>
-
监控HA状态:
hdfs haadmin -getServiceState nn1 hdfs haadmin -failover nn1 nn2
19.2 ResourceManager HA
-
配置参数:
<!-- 在yarn-site.xml中 --> <property> <name>yarn.resourcemanager.ha.enabled</name> <value>true</value> </property> <property> <name>yarn.resourcemanager.cluster-id</name> <value>cluster1</value> </property>
第二十章:版本升级策略
20.1 滚动升级流程
-
升级前准备:
# 备份关键数据 hdfs dfsadmin -fetchImage /backup/namenode hdfs dfs -get /user /backup/userdata
-
分阶段升级:
# 先升级Secondary NameNode # 然后升级DataNodes # 最后升级NameNode
20.2 回滚机制
-
回滚检查点:
# 停止服务 # 恢复备份的fsimage和edits # 重启服务
-
版本兼容性矩阵:
组件 | 支持版本 | 升级路径 |
---|---|---|
HDFS | 2.7 → 3.2 | 需经过2.9过渡 |
YARN | 2.8 → 3.3 | 直接升级 |