Hadoop集群部署教程-P4
Hadoop集群部署教程(续)
第十三章:Hadoop生态系统组件集成
13.1 Hive数据仓库集成
-
安装配置步骤:
# 下载解压 tar -xzvf apache-hive-3.1.2-bin.tar.gz export HIVE_HOME=/path/to/hive # 配置hive-site.xml <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value> </property> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> </configuration>
-
启动服务:
schematool -initSchema -dbType mysql hive --service metastore & hive
13.2 HBase集成
-
配置要点:
<!-- 在hbase-site.xml中 --> <property> <name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property>
-
验证集成:
hbase shell create 'test', 'cf' list
第十四章:性能基准测试
14.1 测试工具使用
-
TestDFSIO测试:
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-*-tests.jar TestDFSIO \ -write -nrFiles 10 -fileSize 1GB
-
TeraSort测试:
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar teragen 10000000 /tera/input hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar terasort /tera/input /tera/output
14.2 性能指标分析
测试类型 | 关键指标 | 优化方向 |
---|---|---|
I/O测试 | 吞吐量(MB/s) | 调整dfs.block.size |
CPU测试 | 处理时间(s) | 优化map/reduce slots |
网络测试 | 跨节点传输速率 | 调整机架感知配置 |
第十五章:生产环境最佳实践
15.1 硬件配置建议
-
Master节点:
- 64GB+内存
- RAID1 SSD系统盘
- 双万兆网卡绑定
-
Worker节点:
- 128GB+内存
- 12+核心CPU
- 10+TB JBOD磁盘
15.2 运维规范
-
变更管理流程:
- 修改配置前备份原文件
- 先在测试集群验证
- 使用滚动重启策略
-
监控指标阈值:
# NameNode堆内存使用 >80% 告警 # DataNode磁盘使用 >85% 告警 # 任务失败率 >5% 告警
第十六章:故障处理手册
16.1 常见问题解决
-
DataNode不注册:
# 检查日志中的异常 grep -i "exception" $HADOOP_HOME/logs/hadoop-*-datanode-*.log # 常见解决步骤 hdfs dfsadmin -refreshNodes systemctl restart hadoop-datanode
-
作业卡住:
# 检查资源瓶颈 yarn application -list yarn application -kill <ApplicationId> # 调整资源配置
16.2 紧急恢复流程
-
NameNode故障:
# 切换到Standby NameNode hdfs haadmin -failover nn1 nn2 # 从最新checkpoint恢复 hdfs namenode -importCheckpoint
-
数据修复:
# 检查块健康状态 hdfs fsck / -files -blocks -locations # 修复损坏块 hdfs fsck / -delete