溫馨提示×

Debian中Hadoop與Spark如何集成

小樊
36
2025-08-28 12:03:44
欄目: 智能運維

在Debian系統中集成Hadoop和Spark可以通過以下步驟完成:

1. 安裝Java

Hadoop和Spark都需要Java環境,因此首先需要安裝Java。

sudo apt update
sudo apt install openjdk-11-jdk

驗證Java安裝:

java -version

2. 下載并解壓Hadoop

從Apache Hadoop官方網站下載最新版本的Hadoop,并解壓到指定目錄。

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
tar -xzvf hadoop-3.3.1.tar.gz -C /usr/local/

重命名解壓后的目錄:

sudo mv /usr/local/hadoop-3.3.1 /usr/local/hadoop

配置Hadoop環境變量:

編輯/etc/profile文件,添加以下內容:

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

使環境變量生效:

source /etc/profile

3. 配置Hadoop

編輯Hadoop配置文件,主要涉及core-site.xml、hdfs-site.xmlyarn-site.xml。

core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

yarn-site.xml

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

4. 格式化HDFS

在首次啟動Hadoop之前,需要格式化HDFS。

hdfs namenode -format

5. 啟動Hadoop集群

啟動HDFS和YARN:

start-dfs.sh
start-yarn.sh

驗證Hadoop是否正常運行:

jps

你應該能看到NameNode、DataNode、SecondaryNameNode、ResourceManagerNodeManager等進程。

6. 下載并解壓Spark

從Apache Spark官方網站下載最新版本的Spark,并解壓到指定目錄。

wget https://downloads.apache.org/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz
tar -xzvf spark-3.1.2-bin-hadoop3.2.tgz -C /usr/local/

重命名解壓后的目錄:

sudo mv /usr/local/spark-3.1.2-bin-hadoop3.2 /usr/local/spark

配置Spark環境變量:

編輯/etc/profile文件,添加以下內容:

export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin

使環境變量生效:

source /etc/profile

7. 配置Spark

編輯Spark配置文件spark-defaults.conf,主要涉及spark.masterspark.executor.memory等參數。

cp $SPARK_HOME/conf/spark-defaults.conf.template $SPARK_HOME/conf/spark-defaults.conf

編輯spark-defaults.conf文件:

nano $SPARK_HOME/conf/spark-defaults.conf

添加以下內容:

spark.master yarn
spark.executor.memory 1g
spark.driver.memory 1g

8. 啟動Spark集群

啟動Spark Master和Worker:

start-master.sh
start-worker.sh spark://localhost:7077

驗證Spark是否正常運行:

jps

你應該能看到MasterWorker進程。

9. 測試集成

編寫一個簡單的Spark程序來測試Hadoop和Spark的集成。

創建一個Scala文件WordCount.scala

import org.apache.spark.sql.SparkSession

object WordCount {
  def main(args: Array[String]): Unit = {
    val spark = SparkSession.builder()
      .appName("WordCount")
      .master("yarn")
      .getOrCreate()

    val textFile = spark.read.text("hdfs://localhost:9000/user/hadoop/input.txt")
    val counts = textFile.rdd.flatMap(_.value.split(" "))
      .map(word => (word, 1))
      .reduceByKey(_ + _)

    counts.saveAsTextFile("hdfs://localhost:9000/user/hadoop/output")

    spark.stop()
  }
}

編譯并打包Spark程序:

sbt package

將生成的JAR文件上傳到HDFS:

hdfs dfs -put target/scala-2.12/wordcount_2.12-1.0.jar /user/hadoop/wordcount.jar

運行Spark程序:

spark-submit --class WordCount /user/hadoop/wordcount.jar

檢查HDFS輸出目錄:

hdfs dfs -ls /user/hadoop/output

通過以上步驟,你可以在Debian系統中成功集成Hadoop和Spark,并運行一個簡單的Spark程序。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女