在Ubuntu上启动Hadoop前,需完成Java环境安装、SSH免密登录配置和Hadoop下载解压三个基础步骤:
sudo apt update
sudo apt install openjdk-11-jdk # 或 openjdk-8-jdk
# 验证安装
java -version # 应输出Java版本信息
localhost的免密登录:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa # 生成密钥对(直接回车)
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys # 添加公钥到授权文件
chmod 600 ~/.ssh/authorized_keys # 设置权限
# 测试免密登录
ssh localhost # 无需输入密码即可登录
/usr/local目录:wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
sudo tar -xzvf hadoop-3.3.6.tar.gz -C /usr/local/
sudo mv /usr/local/hadoop-3.3.6 /usr/local/hadoop # 可选:重命名目录
编辑~/.bashrc文件(用户级环境变量),添加Hadoop和Java路径:
export HADOOP_HOME=/usr/local/hadoop # Hadoop安装目录
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin # 添加Hadoop命令到PATH
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # Java安装目录(根据实际路径调整)
使配置生效:
source ~/.bashrc
进入Hadoop配置目录($HADOOP_HOME/etc/hadoop),修改以下文件:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value> # HDFS NameNode地址
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value> # 数据副本数(单节点设为1)
</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.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value> # 启用MapReduce Shuffle服务
</property>
</configuration>
HDFS NameNode首次启动前需格式化(清空原有数据,仅第一次执行):
hdfs namenode -format
格式化后会生成data/namenode和data/datanode目录(需提前创建,或在配置中指定已有目录)。
进入Hadoop的sbin目录,依次执行以下命令:
cd $HADOOP_HOME/sbin
./start-dfs.sh # 启动HDFS(NameNode、DataNode)
./start-yarn.sh # 启动YARN(ResourceManager、NodeManager)
注意:若启动时报错(如端口占用、权限问题),需检查配置文件中的路径是否正确,或终止冲突进程。
jps命令,应显示以下进程(表示启动成功):NameNode
DataNode
SecondaryNameNode(可选)
ResourceManager
NodeManager
http://localhost:9870(Hadoop 3.x版本)http://localhost:8088若需停止Hadoop服务,执行以下命令:
cd $HADOOP_HOME/sbin
./stop-yarn.sh # 停止YARN
./stop-dfs.sh # 停止HDFS
以上步骤完成后,即可在Ubuntu上成功启动Hadoop集群。如需扩展为多节点集群,需额外配置节点间的SSH免密登录、修改core-site.xml中的NameNode地址为集群IP,并同步配置文件到所有节点。