一、环境准备
192.168.1.100、Slave1192.168.1.101、Slave2192.168.1.102);编辑/etc/hosts文件,将IP与主机名映射(如192.168.1.100 master、192.168.1.101 slave1),确保节点间可通过主机名通信。sudo yum install -y java-1.8.0-openjdk-devel(CentOS)或sudo apt install -y openjdk-11-jdk(Ubuntu);验证安装:java -version,需显示Java版本信息。二、Hadoop安装与配置
/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/;修改权限: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;验证:hadoop version,需显示Hadoop版本信息。$HADOOP_HOME/etc/hadoop目录,修改以下文件:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value> <!-- Master节点的主机名 -->
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value> <!-- 临时目录 -->
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value> <!-- 副本数 -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/hdfs/namenode</value> <!-- NameNode数据目录 -->
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/hdfs/datanode</value> <!-- DataNode数据目录 -->
</property>
</configuration>
mapred-site.xml.template重命名为mapred-site.xml):配置MapReduce运行框架为YARN:<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value> <!-- ResourceManager节点的主机名 -->
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
scp core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml slave1:$HADOOP_HOME/etc/hadoop/;scp core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml slave2:$HADOOP_HOME/etc/hadoop/。ssh-keygen -t rsa(直接按回车键,默认路径);将公钥复制到所有Slave节点:ssh-copy-id hadoop@slave1;ssh-copy-id hadoop@slave2;测试免密登录:ssh slave1、ssh slave2,无需输入密码即可登录。三、启动集群
hdfs namenode -format;此命令会创建NameNode的元数据目录。start-dfs.sh;启动后,NameNode(NameNode进程)、DataNode(DataNode进程)会在Master和Slave节点上自动启动。start-yarn.sh;ResourceManager(ResourceManager进程)会在Master节点启动,NodeManager(NodeManager进程)会在所有Slave节点启动。四、验证集群
jps,Master节点应显示NameNode、ResourceManager,Slave节点应显示DataNode、NodeManager。hdfs dfsadmin -report,查看DataNode列表和存储容量。yarn node -list,查看NodeManager列表和资源使用情况。http://master:9870(HDFS Web界面),http://master:8088(YARN Web界面),查看集群运行状态。