1. 环境准备
2. 安装与配置Java环境 Hadoop依赖Java 8或更高版本(推荐OpenJDK 11),需先安装并配置环境变量:
sudo apt update
sudo apt install -y openjdk-11-jdk # 安装OpenJDK 11
java -version # 验证安装(需显示Java版本信息)
配置环境变量:编辑~/.bashrc
文件,添加以下内容:
export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which javac))))) # 自动获取Java安装路径
export PATH=$JAVA_HOME/bin:$PATH
使配置生效:
source ~/.bashrc
3. 下载与解压Hadoop
从Apache官网下载稳定版本(如3.3.6),解压至/usr/local
目录:
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
sudo tar -xzf hadoop-3.3.6.tar.gz -C /usr/local/
sudo mv /usr/local/hadoop-3.3.6 /usr/local/hadoop # 重命名为hadoop方便管理
sudo chown -R $USER:$USER /usr/local/hadoop # 修改所有权为当前用户
4. 配置Hadoop环境变量
编辑~/.bashrc
文件,添加Hadoop路径:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使配置生效:
source ~/.bashrc
5. 配置Hadoop核心文件
Hadoop配置文件位于$HADOOP_HOME/etc/hadoop
目录,需修改以下文件:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value> # 伪分布式用localhost,集群用主节点主机名
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value> # 临时目录,需提前创建
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value> # 伪分布式副本数为1,集群根据节点数调整(如3)
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/data/namenode</value> # NameNode元数据目录
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/data/datanode</value> # DataNode数据目录
</property>
</configuration>
cp mapred-site.xml.template mapred-site.xml
编辑内容:<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value> # 使用YARN作为资源管理器
</property>
</configuration>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value> # 集群中ResourceManager所在节点主机名
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value> # Shuffle服务支持
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>4096</value> # NodeManager可用内存(根据节点配置调整)
</property>
</configuration>
6. 格式化HDFS 首次启动前需格式化HDFS(会清空所有数据,仅第一次需要):
hdfs namenode -format
7. 启动Hadoop集群 启动HDFS和YARN服务:
start-dfs.sh # 启动HDFS(NameNode、DataNode)
start-yarn.sh # 启动YARN(ResourceManager、NodeManager)
8. 验证集群状态
jps
命令,应显示以下进程:
http://localhost:9870
(Hadoop 3.x版本端口)http://localhost:8088
9. (可选)配置SSH无密码登录(集群必备) 若部署多节点集群,需配置主节点到所有从节点的无密码SSH登录:
ssh-keygen -t rsa # 生成密钥对(直接回车)
ssh-copy-id hadoop@slave1 # 将公钥复制到从节点(slave1替换为实际主机名/IP)
ssh hadoop@slave1 # 测试无密码登录(无需输入密码)
10. 部署后续步骤
core-site.xml
中的fs.defaultFS
为主节点主机名,slaves
文件(位于$HADOOP_HOME/etc/hadoop
)中添加从节点主机名。yarn.nodemanager.resource.memory-mb
(内存)、dfs.replication
(副本数)等参数。