ubuntu

Ubuntu与Hadoop的集成方法

小樊
39
2025-09-27 19:37:48
栏目: 智能运维

Ubuntu与Hadoop集成的详细步骤

1. 安装Java环境(Hadoop前置依赖)

Hadoop是基于Java开发的,需先安装Java运行环境(推荐OpenJDK 8或11)。在Ubuntu终端执行以下命令:

sudo apt update
sudo apt install openjdk-8-jdk  # 或openjdk-11-jdk

验证安装是否成功:

java -version

输出应显示Java版本信息(如openjdk version "1.8.0_392")。

2. 配置SSH无密码登录(集群通信必备)

Hadoop集群中的节点(如NameNode与DataNode)需要通过SSH无密码登录实现安全通信。

3. 下载并解压Hadoop

从Apache Hadoop官网下载稳定版本(如3.3.6),解压至/usr/local目录(系统级安装路径):

wget https://downloads.apache.org/hadoop/core/hadoop-3.3.6/hadoop-3.3.6.tar.gz
sudo tar -xzf hadoop-3.3.6.tar.gz -C /usr/local/
sudo chown -R $USER:$USER /usr/local/hadoop-3.3.6  # 修改目录所有者为当前用户

为方便使用,可重命名解压后的目录:

sudo mv /usr/local/hadoop-3.3.6 /usr/local/hadoop

4. 配置Hadoop环境变量

编辑用户级环境变量文件(~/.bashrc~/.profile),添加Hadoop相关路径:

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

使配置生效:

source ~/.bashrc

验证环境变量是否配置成功:

echo $HADOOP_HOME  # 应输出/usr/local/hadoop
hadoop version     # 应显示Hadoop版本信息

5. 配置Hadoop核心文件

Hadoop的主要配置文件位于$HADOOP_HOME/etc/hadoop目录下,需修改以下文件:

(1) core-site.xml(HDFS默认文件系统)

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>  <!-- 单机模式下指向本地NameNode -->
    </property>
</configuration>

(2) hdfs-site.xml(HDFS存储配置)

<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>

(3) mapred-site.xml(MapReduce框架配置)

若文件不存在,需复制模板生成:

cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/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>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>localhost</value>  <!-- 单机模式下ResourceManager运行在本地 -->
    </property>
</configuration>

6. 格式化HDFS(首次启动必做)

HDFS的NameNode需要格式化以初始化元数据(此操作会清除已有数据,仅首次启动时执行):

hdfs namenode -format

格式化完成后,会生成data/namenodedata/datanode目录。

7. 启动Hadoop集群

通过以下命令启动HDFS和YARN服务:

start-dfs.sh    # 启动HDFS(NameNode、DataNode)
start-yarn.sh   # 启动YARN(ResourceManager、NodeManager)

验证服务是否启动成功:

jps  # 应显示NameNode、DataNode、ResourceManager、NodeManager等进程

8. 验证Hadoop功能

9. 可选:关闭Hadoop集群

若需停止服务,执行以下命令:

stop-yarn.sh    # 停止YARN
stop-dfs.sh     # 停止HDFS

常见问题解决

0
看了该问题的人还看了