Linux中Hadoop如何进行集群搭建
导读:一、环境准备 硬件要求:每台节点(Master/Slave)需满足基本配置:双核CPU、8GB以上内存、100GB以上硬盘(根据数据量调整,建议HDD/SSD均可);所有节点需在同一局域网内,确保网络互通。 操作系统:推荐使用稳定Linu...
一、环境准备
- 硬件要求:每台节点(Master/Slave)需满足基本配置:双核CPU、8GB以上内存、100GB以上硬盘(根据数据量调整,建议HDD/SSD均可);所有节点需在同一局域网内,确保网络互通。
- 操作系统:推荐使用稳定Linux发行版(如CentOS 7/8、Ubuntu 22.04/24.2),本文以CentOS 7为例。
- 软件依赖:需提前安装Java(JDK 1.8+,推荐OpenJDK)、Hadoop(建议3.2+版本,从Apache官网下载)。
二、基础环境配置
- 安装Java:
以CentOS为例,执行sudo yum install -y java-1.8.0-openjdk-devel
安装OpenJDK 8;安装后通过java -version
验证是否成功(需显示Java版本信息)。 - 下载并解压Hadoop:
从Apache官网下载Hadoop(如hadoop-3.3.5.tar.gz
),解压至指定目录(如/usr/local/hadoop
),并修改所属用户(避免权限问题):wget https://downloads.apache.org/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz tar -xzvf hadoop-3.3.5.tar.gz -C /usr/local/ sudo chown -R hadoop:hadoop /usr/local/hadoop ```。
- 配置环境变量:
编辑~/.bashrc
(或/etc/profile
),添加以下内容(根据实际路径调整):
执行export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source ~/.bashrc
使配置生效。
三、SSH免密登录配置
- 生成密钥对:
在Master节点执行ssh-keygen -t rsa
(直接回车,默认保存路径~/.ssh/id_rsa
,无需设置密码)。 - 分发公钥:
将Master节点的公钥复制到所有Slave节点(如node2
、node3
):
执行ssh-copy-id hadoop@node2_ip ssh-copy-id hadoop@node3_ip
ssh hadoop@node2_ip
测试是否能免密登录(无需输入密码)。
四、Hadoop核心配置
进入$HADOOP_HOME/etc/hadoop
目录,修改以下配置文件:
- core-site.xml:配置HDFS的默认文件系统URI(指向NameNode):
< configuration> < property> < name> fs.defaultFS< /name> < value> hdfs://namenode_ip:9000< /value> < /property> < /configuration> ```。
- hdfs-site.xml:配置HDFS副本数(生产环境建议3,测试环境可设为1)、NameNode和DataNode数据目录:
< configuration> < property> < name> dfs.replication< /name> < value> 3< /value> < /property> < property> < name> dfs.namenode.name.dir< /name> < value> /usr/local/hadoop/hdfs/namenode< /value> < /property> < property> < name> dfs.datanode.data.dir< /name> < value> /usr/local/hadoop/hdfs/datanode< /value> < /property> < /configuration> ```。
- mapred-site.xml:配置MapReduce框架为YARN(需提前创建
mapred-site.xml
,可通过cp mapred-site.xml.template mapred-site.xml
生成):< configuration> < property> < name> mapreduce.framework.name< /name> < value> yarn< /value> < /property> < /configuration> ```。
- yarn-site.xml:配置YARN资源管理器主机名及Shuffle服务:
< configuration> < property> < name> yarn.resourcemanager.hostname< /name> < value> namenode_ip< /value> < /property> < property> < name> yarn.nodemanager.aux-services< /name> < value> mapreduce_shuffle< /value> < /property> < /configuration> ```。
五、启动集群
- 格式化NameNode:
在Master节点执行hdfs namenode -format
(首次启动需格式化,清除旧元数据;生产环境谨慎操作)。 - 启动HDFS:
执行start-dfs.sh
启动HDFS服务(包含NameNode、DataNode)。 - 启动YARN:
执行start-yarn.sh
启动YARN服务(包含ResourceManager、NodeManager)。
六、验证集群状态
- 查看进程:
在Master节点执行jps
,应显示以下进程(NameNode、DataNode、ResourceManager、NodeManager):1234 NameNode 5678 DataNode 9012 ResourceManager 3456 NodeManager ```。
- 查看集群报告:
执行hdfs dfsadmin -report
查看HDFS节点状态(如DataNode数量、存储容量)。 - 查看YARN节点:
执行yarn node -list
查看YARN节点列表(确认NodeManager已注册)。 - 访问Web界面:
- HDFS Web界面:
http://namenode_ip:9870
(Hadoop 3.x版本); - YARN Web界面:
http://namenode_ip:8088
(查看资源分配及任务状态)。
- HDFS Web界面:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux中Hadoop如何进行集群搭建
本文地址: https://pptw.com/jishu/730821.html