Debian Hadoop集群怎么建
导读:一、环境准备 节点规划:集群需包含1台NameNode(主节点,管理HDFS元数据)、多台DataNode(数据存储节点)、1台ResourceManager(主节点,管理YARN资源)、多台NodeManager(数据节点,执行任务)。...
一、环境准备
- 节点规划:集群需包含1台NameNode(主节点,管理HDFS元数据)、多台DataNode(数据存储节点)、1台ResourceManager(主节点,管理YARN资源)、多台NodeManager(数据节点,执行任务)。建议使用Debian 11及以上稳定版本。
- 硬件要求:NameNode建议配备SSD(≥500GB)、≥16GB内存;DataNode可使用HDD(≥2TB)、≥8GB内存;所有节点CPU≥4核(推荐8核),网络建议千兆以太网(万兆更佳)。
- 软件依赖:所有节点安装Java 8+(推荐OpenJDK 11)、SSH服务(用于节点间免密通信)。
二、基础配置
- 静态网络与主机名解析:编辑
/etc/network/interfaces
配置静态IP(如192.168.1.10 master
、192.168.1.11 datanode1
),避免DHCP导致IP变动;修改/etc/hosts
文件,添加所有节点的IP与主机名映射,确保节点间可通过主机名互相访问。 - SSH免密登录:在NameNode上生成SSH密钥(
ssh-keygen -t rsa
),将公钥复制到所有DataNode和ResourceManager节点(ssh-copy-id datanode1
、ssh-copy-id ResourceManager
),测试免密登录(ssh datanode1
)。 - 创建Hadoop用户:在所有节点上创建专用用户(如
hadoop
)并加入hadoop
组(sudo useradd -m -G sudo hadoop
),避免使用root用户运行Hadoop,提升安全性。
三、Hadoop安装与配置
- 下载与解压:从Apache官网下载稳定版Hadoop(如3.3.6),解压至
/opt
目录(sudo tar -xzf hadoop-3.3.6.tar.gz -C /opt
),创建软链接简化路径(sudo ln -sf /opt/hadoop-3.3.6 /opt/hadoop
)。 - 配置环境变量:编辑
/etc/profile.d/hadoop.sh
(全局生效)或~/.bashrc
(当前用户生效),添加以下内容:
执行export HADOOP_HOME=/opt/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 根据实际Java路径调整
source /etc/profile
或source ~/.bashrc
使配置生效。 - 核心配置文件修改:
- core-site.xml:设置HDFS默认文件系统和临时目录。
< configuration> < property> < name> fs.defaultFS< /name> < value> hdfs://master:9000< /value> < /property> < property> < name> hadoop.tmp.dir< /name> < value> /opt/hadoop/tmp< /value> < /property> < /configuration>
- hdfs-site.xml:配置HDFS副本数(生产环境建议3)和数据存储路径。
< configuration> < property> < name> dfs.replication< /name> < value> 3< /value> < /property> < property> < name> dfs.namenode.name.dir< /name> < value> /opt/hadoop/dfs/name< /value> < /property> < property> < name> dfs.datanode.data.dir< /name> < value> /opt/hadoop/dfs/data< /value> < /property> < /configuration>
- yarn-site.xml:配置ResourceManager主机名和Shuffle服务。
< configuration> < property> < name> yarn.resourcemanager.hostname< /name> < value> master< /value> < /property> < property> < name> yarn.nodemanager.aux-services< /name> < value> mapreduce_shuffle< /value> < /property> < property> < name> yarn.nodemanager.aux-services.mapreduce.shuffle.class< /name> < value> org.apache.hadoop.mapred.ShuffleHandler< /value> < /property> < /configuration>
- mapred-site.xml(若未自动生成,从
mapred-site.xml.template
复制):设置MapReduce框架为YARN。< configuration> < property> < name> mapreduce.framework.name< /name> < value> yarn< /value> < /property> < /configuration>
- core-site.xml:设置HDFS默认文件系统和临时目录。
- 格式化HDFS:仅在NameNode上执行一次,初始化HDFS元数据(
hdfs namenode -format
)。
四、启动与验证
- 启动HDFS:在NameNode上执行
start-dfs.sh
,启动NameNode和DataNode服务;使用jps
命令检查进程(NameNode节点应显示NameNode
,DataNode节点应显示DataNode
)。 - 启动YARN:在ResourceManager上执行
start-yarn.sh
,启动ResourceManager和NodeManager服务;使用yarn node -list
命令检查NodeManager是否注册。 - 验证集群状态:访问HDFS Web界面(
http://master:9870
),查看DataNode是否正常连接;提交测试任务(如hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar pi 10 100
),验证MapReduce功能是否正常。
五、可选优化
- 高可用性(HA):配置NameNode和ResourceManager的HA,使用ZooKeeper集群协调状态,避免单点故障。
- 安全配置:启用Kerberos认证,加密节点间通信;配置防火墙限制对Hadoop服务端口(如9000、50070、8088)的访问。
- 性能调优:调整HDFS块大小(如128MB或256MB)、YARN容器内存分配(如
yarn.nodemanager.resource.memory-mb
),优化NameNode内存(如hadoop-env.sh
中设置HADOOP_NAMENODE_OPTS="-Xmx4g"
)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian Hadoop集群怎么建
本文地址: https://pptw.com/jishu/734169.html