Hadoop基于Java开发,需在所有节点安装Java运行环境:
sudo yum install -y java-1.8.0-openjdk-devel安装OpenJDK 8;sudo apt update && sudo apt install -y openjdk-11-jdk安装OpenJDK 11。java -version验证是否成功(需显示Java版本信息)。从Apache Hadoop官网下载最新稳定版本(如3.3.5),解压至指定目录(如/usr/local):
wget https://downloads.apache.org/hadoop/core/hadoop-3.3.5/hadoop-3.3.5.tar.gz # 替换为最新版本链接
tar -zxvf hadoop-3.3.5.tar.gz -C /usr/local/ # 解压到/usr/local
ln -s /usr/local/hadoop-3.3.5 /usr/local/hadoop # 创建软链接(简化命令)
设置Hadoop目录权限:sudo chown -R hadoop:hadoop /usr/local/hadoop(hadoop为用户,需提前创建)。
编辑所有节点的~/.bashrc(或/etc/profile)文件,添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 根据实际Java安装路径修改
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存后执行source ~/.bashrc(或source /etc/profile)使配置生效。
进入Hadoop配置目录($HADOOP_HOME/etc/hadoop),修改以下关键文件:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value> <!-- Master节点主机名或IP -->
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value> <!-- 副本数(集群节点≥3时设为3,否则设为节点数) -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/data/namenode</value> <!-- NameNode数据目录 -->
</property>
</configuration>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value> <!-- 使用YARN作为资源管理器 -->
</property>
</configuration>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>resourcemanager</value> <!-- ResourceManager节点主机名或IP -->
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value> <!-- Shuffle服务 -->
</property>
</configuration>
修改完成后,保存所有文件。
实现Master节点与所有Slave节点的无密码通信:
ssh-keygen -t rsa(直接回车,默认路径~/.ssh/id_rsa);ssh-copy-id hadoop@slave1_ip、ssh-copy-id hadoop@slave2_ip(替换为Slave节点IP或主机名);ssh slave1_ip,若无需输入密码即可登录,则配置成功。仅在Master节点执行,初始化HDFS文件系统:
hdfs namenode -format
此操作会清除HDFS中的所有数据,请谨慎执行(首次搭建时需执行)。
start-dfs.sh,启动NameNode、DataNode等组件;start-yarn.sh,启动ResourceManager、NodeManager等组件。jps命令查看进程(Master节点应有NameNode、ResourceManager;Slave节点应有DataNode、NodeManager)。hdfs dfsadmin -report查看HDFS节点状态;执行yarn node -list查看YARN节点状态;http://namenode_ip:50070(HDFS Web界面)、http://namenode_ip:8088(YARN Web界面),确认集群运行正常。以上步骤完成后,Hadoop集群即搭建完成,可进行后续的HDFS文件操作、MapReduce作业提交等任务。