# Hadoop怎么实现集群搭建 ## 一、Hadoop集群概述 Hadoop作为Apache基金会开源的分布式计算框架,其核心设计思想是通过集群方式实现海量数据的存储(HDFS)和计算(MapReduce/YARN)。一个典型的Hadoop集群由以下角色组成: - **NameNode**:HDFS的主节点,管理文件系统元数据 - **DataNode**:HDFS的从节点,存储实际数据块 - **ResourceManager**:YARN的主节点,负责资源调度 - **NodeManager**:YARN的从节点,执行具体计算任务 - **SecondaryNameNode**:NameNode的辅助节点(非热备) ## 二、环境准备 ### 1. 硬件要求 - 至少3台服务器(物理机或虚拟机) - 每台建议配置: - CPU:4核以上 - 内存:8GB以上 - 磁盘:50GB以上(建议SSD) - 网络:千兆网卡 ### 2. 软件要求 - 操作系统:Linux(推荐CentOS 7+或Ubuntu 18.04+) - Java:JDK 8(必须与Hadoop版本兼容) - SSH:节点间免密登录 - Hadoop版本:3.x(本文以3.3.4为例) ## 三、详细搭建步骤 ### 1. 系统基础配置 ```bash # 所有节点执行 sudo hostnamectl set-hostname hadoop01 # 分别设置为hadoop01,hadoop02,hadoop03 echo "192.168.1.101 hadoop01" | sudo tee -a /etc/hosts echo "192.168.1.102 hadoop02" | sudo tee -a /etc/hosts echo "192.168.1.103 hadoop03" | sudo tee -a /etc/hosts # 关闭防火墙 sudo systemctl stop firewalld sudo systemctl disable firewalld
# 在所有节点生成密钥 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa # 将公钥同步到所有节点(包括自己) ssh-copy-id hadoop01 ssh-copy-id hadoop02 ssh-copy-id hadoop03
# 下载并解压JDK tar -zxvf jdk-8u341-linux-x64.tar.gz -C /opt/ # 配置环境变量(写入/etc/profile) export JAVA_HOME=/opt/jdk1.8.0_341 export PATH=$PATH:$JAVA_HOME/bin
tar -zxvf hadoop-3.3.4.tar.gz -C /opt/ mv /opt/hadoop-3.3.4 /opt/hadoop
1) hadoop-env.sh
export JAVA_HOME=/opt/jdk1.8.0_341 export HDFS_NAMENODE_USER="root" export HDFS_DATANODE_USER="root"
2) core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop01:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/hadoop/data/tmp</value> </property> </configuration>
3) hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/opt/hadoop/data/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/opt/hadoop/data/datanode</value> </property> </configuration>
4) yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop01</value> </property> </configuration>
5) workers文件
hadoop01 hadoop02 hadoop03
scp -r /opt/hadoop hadoop02:/opt/ scp -r /opt/hadoop hadoop03:/opt/ scp /etc/profile hadoop02:/etc/ scp /etc/profile hadoop03:/etc/
hdfs namenode -format
# 启动HDFS start-dfs.sh # 启动YARN start-yarn.sh
# 检查进程 jps # 访问Web UI NameNode: http://hadoop01:9870 ResourceManager: http://hadoop01:8088
hadoop.tmp.dir
目录权限hdfs-site.xml
中的HTTP端口dfs.datanode.data.dir
到足够空间的分区注意:生产环境建议配置监控系统(如Ambari)和日志聚合功能,并定期进行集群维护。 “`
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。