阅读量:46
一、前置准备
在Ubuntu上启动Hadoop前,需完成Java环境安装、SSH免密登录配置和Hadoop下载解压三个基础步骤:
- 安装Java(Hadoop依赖Java运行环境)
推荐使用OpenJDK 8或11(兼容性更好),执行以下命令:sudo apt update sudo apt install openjdk-11-jdk # 或 openjdk-8-jdk # 验证安装 java -version # 应输出Java版本信息 - 配置SSH免密登录(Hadoop集群节点间通信必需)
本地模式无需多节点,但仍需配置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 # 无需输入密码即可登录 - 下载并解压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 -xzvf hadoop-3.3.6.tar.gz -C /usr/local/ sudo mv /usr/local/hadoop-3.3.6 /usr/local/hadoop # 可选:重命名目录
二、配置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配置目录($HADOOP_HOME/etc/hadoop),修改以下文件:
1. core-site.xml(HDFS默认文件系统)
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value> # HDFS NameNode地址
</property>
</configuration>
2. hdfs-site.xml(HDFS存储配置)
<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>
3. mapred-site.xml(MapReduce框架配置)
若文件不存在,需复制模板生成:
cp mapred-site.xml.template mapred-site.xml
修改内容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value> # 使用YARN作为资源管理器
</property>
</configuration>
4. yarn-site.xml(YARN配置)
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value> # 启用MapReduce Shuffle服务
</property>
</configuration>
四、格式化HDFS(首次启动必需)
HDFS NameNode首次启动前需格式化(清空原有数据,仅第一次执行):
hdfs namenode -format
格式化后会生成data/namenode和data/datanode目录(需提前创建,或在配置中指定已有目录)。
五、启动Hadoop集群
进入Hadoop的sbin目录,依次执行以下命令:
cd $HADOOP_HOME/sbin
./start-dfs.sh # 启动HDFS(NameNode、DataNode)
./start-yarn.sh # 启动YARN(ResourceManager、NodeManager)
注意:若启动时报错(如端口占用、权限问题),需检查配置文件中的路径是否正确,或终止冲突进程。
六、验证Hadoop启动状态
- 查看进程:执行
jps命令,应显示以下进程(表示启动成功):NameNode DataNode SecondaryNameNode(可选) ResourceManager NodeManager - 访问Web界面:
- HDFS NameNode:
http://localhost:9870(Hadoop 3.x版本) - YARN ResourceManager:
http://localhost:8088
在浏览器中输入上述地址,若能看到集群状态页面,则说明启动成功。
- HDFS NameNode:
七、停止Hadoop集群(可选)
若需停止Hadoop服务,执行以下命令:
cd $HADOOP_HOME/sbin
./stop-yarn.sh # 停止YARN
./stop-dfs.sh # 停止HDFS
以上步骤完成后,即可在Ubuntu上成功启动Hadoop集群。如需扩展为多节点集群,需额外配置节点间的SSH免密登录、修改core-site.xml中的NameNode地址为集群IP,并同步配置文件到所有节点。