Apache Hadoop集群部署
外观
Hadoop集群部署[编辑 | 编辑源代码]
介绍[编辑 | 编辑源代码]
Hadoop集群部署是指将Hadoop分布式计算框架的各个组件(如HDFS、YARN、MapReduce等)安装并配置在多台服务器上,形成一个协同工作的分布式系统。集群部署是Hadoop运维管理的核心任务之一,直接影响系统的性能、可靠性和扩展性。
Hadoop集群通常由以下角色组成:
- 主节点(Master Node):运行NameNode、ResourceManager等核心服务。
- 从节点(Worker Node):运行DataNode、NodeManager等数据处理服务。
- 客户端节点(Client Node):提交作业和访问集群。
部署前准备[编辑 | 编辑源代码]
硬件要求[编辑 | 编辑源代码]
- 主节点:建议至少16GB内存、4核CPU、100GB存储。
- 从节点:建议至少8GB内存、2核CPU、500GB存储(根据数据量调整)。
- 网络:千兆以太网或更高,低延迟。
软件要求[编辑 | 编辑源代码]
- 操作系统:Linux(推荐CentOS或Ubuntu)。
- Java:OpenJDK 8或11(Hadoop 3.x支持Java 11)。
- SSH:无密码登录配置。
配置示例[编辑 | 编辑源代码]
以下是一个3节点集群的配置示例:
部署步骤[编辑 | 编辑源代码]
1. 安装Java[编辑 | 编辑源代码]
在所有节点上安装Java:
# Ubuntu/Debian
sudo apt update
sudo apt install openjdk-11-jdk
# 验证安装
java -version
输出示例:
openjdk version "11.0.12" 2021-07-20 OpenJDK Runtime Environment (build 11.0.12+7-post-Ubuntu-0ubuntu1) OpenJDK 64-Bit Server VM (build 11.0.12+7-post-Ubuntu-0ubuntu1, mixed mode)
2. 配置SSH免密登录[编辑 | 编辑源代码]
在主节点生成密钥并分发到从节点:
ssh-keygen -t rsa
ssh-copy-id user@worker1
ssh-copy-id user@worker2
3. 下载并解压Hadoop[编辑 | 编辑源代码]
从Apache官网下载Hadoop(以3.3.6为例):
wget https://archive.apache.org/dist/hadoop/core/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -xzvf hadoop-3.3.6.tar.gz
mv hadoop-3.3.6 /opt/hadoop
4. 配置环境变量[编辑 | 编辑源代码]
编辑/etc/profile
:
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
5. 核心配置文件[编辑 | 编辑源代码]
修改以下文件(路径:$HADOOP_HOME/etc/hadoop/
):
core-site.xml[编辑 | 编辑源代码]
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
hdfs-site.xml[编辑 | 编辑源代码]
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
mapred-site.xml[编辑 | 编辑源代码]
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
6. 启动集群[编辑 | 编辑源代码]
# 格式化HDFS(仅在首次部署时执行)
hdfs namenode -format
# 启动HDFS
start-dfs.sh
# 启动YARN
start-yarn.sh
验证服务状态:
jps
主节点应显示NameNode
和ResourceManager
,从节点应显示DataNode
和NodeManager
。
实际案例[编辑 | 编辑源代码]
电商日志分析集群[编辑 | 编辑源代码]
某电商公司部署了一个5节点Hadoop集群:
- 1个主节点(NameNode + ResourceManager)
- 4个从节点(每个节点配置:32GB内存、12核CPU、10TB存储)
用途:
- 存储和分析用户行为日志(每日增量约1TB)。
- 运行MapReduce作业生成销售报表。
常见问题[编辑 | 编辑源代码]
1. DataNode未启动[编辑 | 编辑源代码]
可能原因:
- 防火墙阻止通信。
dfs.datanode.data.dir
权限错误。
解决方案:
sudo systemctl stop firewalld
chmod 755 /path/to/data/dir
2. 磁盘空间不足[编辑 | 编辑源代码]
通过以下命令监控HDFS使用情况:
hdfs dfsadmin -report
数学公式[编辑 | 编辑源代码]
Hadoop的副本放置策略遵循机架感知(Rack Awareness),其副本分布概率可表示为:
总结[编辑 | 编辑源代码]
Hadoop集群部署需要严谨的规划和配置,确保硬件资源、网络和软件环境满足要求。通过本文的步骤,读者可以完成一个基础的集群部署,并进一步探索性能调优和高可用配置。