一、环境准备
二、基础环境配置
sudo yum install -y java-1.8.0-openjdk-devel安装OpenJDK 8;安装后通过java -version验证是否成功(需显示Java版本信息)。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免密登录配置
ssh-keygen -t rsa(直接回车,默认保存路径~/.ssh/id_rsa,无需设置密码)。node2、node3):ssh-copy-id hadoop@node2_ip
ssh-copy-id hadoop@node3_ip
执行ssh hadoop@node2_ip测试是否能免密登录(无需输入密码)。四、Hadoop核心配置
进入$HADOOP_HOME/etc/hadoop目录,修改以下配置文件:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode_ip:9000</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>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/hdfs/datanode</value>
</property>
</configuration>
```。
mapred-site.xml,可通过cp mapred-site.xml.template mapred-site.xml生成):<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
```。
<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>
```。
五、启动集群
hdfs namenode -format(首次启动需格式化,清除旧元数据;生产环境谨慎操作)。start-dfs.sh启动HDFS服务(包含NameNode、DataNode)。start-yarn.sh启动YARN服务(包含ResourceManager、NodeManager)。六、验证集群状态
jps,应显示以下进程(NameNode、DataNode、ResourceManager、NodeManager):1234 NameNode
5678 DataNode
9012 ResourceManager
3456 NodeManager
```。
hdfs dfsadmin -report查看HDFS节点状态(如DataNode数量、存储容量)。yarn node -list查看YARN节点列表(确认NodeManager已注册)。http://namenode_ip:9870(Hadoop 3.x版本);http://namenode_ip:8088(查看资源分配及任务状态)。