ubuntu

Ubuntu如何集成Hadoop生态系统

小樊
49
2025-10-02 02:12:26
栏目: 智能运维

Ubuntu集成Hadoop生态系统的完整步骤

1. 环境准备

在Ubuntu系统上集成Hadoop生态前,需完成以下基础准备:

2. 安装Java环境

Hadoop依赖Java运行环境(JRE/JDK),推荐使用OpenJDK 8或11:

sudo apt install -y openjdk-11-jdk
java -version  # 验证安装(需显示Java版本信息)

配置JAVA_HOME环境变量(编辑~/.bashrc):

echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" >> ~/.bashrc
source ~/.bashrc

3. 下载与安装Hadoop

从Apache官网下载稳定版本的Hadoop(如3.3.6),解压至指定目录:

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 mv /usr/local/hadoop-3.3.6 /usr/local/hadoop  # 重命名便于管理
sudo chown -R hadoop:hadoop /usr/local/hadoop      # 修改所有权(若使用专用用户)

4. 配置Hadoop环境变量

编辑~/.bashrc,添加Hadoop路径配置:

echo "export HADOOP_HOME=/usr/local/hadoop" >> ~/.bashrc
echo "export PATH=\$PATH:\$HADOOP_HOME/bin:\$HADOOP_HOME/sbin" >> ~/.bashrc
source ~/.bashrc  # 使配置生效

5. 配置Hadoop核心文件

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

5.1 core-site.xml

配置HDFS的默认文件系统地址:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>  <!-- 单机模式用localhost;集群模式用主节点IP -->
    </property>
</configuration>

5.2 hdfs-site.xml

配置HDFS的副本数(单机模式设为1,集群模式设为3)及数据存储路径:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </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>

5.3 mapred-site.xml

配置MapReduce框架为YARN(需先创建mapred-site.xml,可通过cp mapred-site.xml.template mapred-site.xml生成):

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

5.4 yarn-site.xml

配置YARN的资源管理器及Shuffle服务:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </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>  <!-- 集群模式用主节点IP -->
    </property>
</configuration>

6. 格式化HDFS

首次启动Hadoop前,需格式化HDFS(仅第一次需要,会清除原有数据):

hdfs namenode -format

7. 启动Hadoop集群

依次启动HDFS和YARN服务:

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

8. 验证Hadoop安装

9. 集成Hadoop生态组件(以Spark为例)

Hadoop生态的核心组件(如Spark、Hive、HBase)可与Hadoop无缝集成,以下以Spark为例:

9.1 安装Spark

下载与Hadoop版本兼容的Spark预编译包(如Spark 3.5.0支持Hadoop 3.x):

wget https://downloads.apache.org/spark/spark-3.5.0/spark-3.5.0-bin-hadoop3.tgz
sudo tar -xzf spark-3.5.0-bin-hadoop3.tgz -C /usr/local/
sudo mv /usr/local/spark-3.5.0-bin-hadoop3 /usr/local/spark

9.2 配置Spark环境变量

编辑~/.bashrc,添加Spark路径:

echo "export SPARK_HOME=/usr/local/spark" >> ~/.bashrc
echo "export PATH=\$PATH:\$SPARK_HOME/bin" >> ~/.bashrc
source ~/.bashrc

9.3 验证Spark与Hadoop集成

运行Spark Shell,读取HDFS中的文件:

spark-shell
scala> val data = sc.textFile("hdfs://localhost:9000/user/hadoop/test.txt")
scala> data.count()  # 统计文件行数

注意事项

0
看了该问题的人还看了