升级Spark3.4.1

Apache Spark,是一个多语言引擎,用于在单节点或集群上执行数据工程和机器学习的工具。

  • Batch / streaming data 批量/流式数据
    • Python、SQL、Scala、Java或R,统一数据的批处理和实时流处理
  • SQL analytics SQL分析
    • 执行快速、分布式的ANSI SQL查询,以实现仪表板和即席报告。
    • 比大多数数据仓库更快。
  • Data science at scale 大规模数据科学
    • 对PB级数据执行探索性数据分析(EDA),而无需采用下采样
  • Machine learning 机器学习
    • 在电脑上训练机器学习算法,并使用相同的代码扩展到数千台机器的容错集群

官网下载spark3.4.1的jar包

Spark Download

下载 spark-3.4.1-bin-hadoop3.tgz 后,在相应目录进行解压操作

1
tar xvf  spark-3.4.1-bin-hadoop3.tgz  -C /var/local/

软链更新

删除之前的软链

1
rm spark

创建新的软链:

1
ln -s /var/local/spark-3.4.1-bin-hadoop3  /opt/soft/spark

❌软链报错:目录无法访问
💡解决方法:用绝对路径(上面已用绝对路径)

修改配置文件

将以前版本的配置文件 copy 到当前 spark/conf 文件夹下

1
scp spark-env.sh spark-defaults.conf  core-site.xml  hdfs-site.xml  hive-site.xml  yarn-site.xml  <目标地址IP>: /opt/soft/spark/conf

配置文件包括:
spark-env.sh
spark-defaults.conf
core-site.xml
hdfs-site.xml
hive-site.xml
yarn-site.xml (不必选)

Lib包更新

  1. 更新 $SPARK_HOME/jars/ 目录
  • 下载 iceberg-spark-runtime-*.jar
  • 下载 hive-hcatalog-core-*.jar
  1. 更新HDFS目录 sparkjars/ 的共享jar包
  • 将 $SPARK_HOME/jars 下面的 *.jar 都上传到此目录
1
2
# hdfs上创建目录
hdfs dfs -mkdir /sparkjars/spark_341
  • 上传命令
1
hdfs dfs -put $SPARK_HOME/jars/*.jar /sparkjars/spark_3xx

测试spark

提交Pi计算测试

1
2
3
4
5
6
7
date;
$SPARK_HOME/bin/spark-submit
--class org.apache.spark.examples.SparkPi
--master yarn
--deploy-mode client
$SPARK_HOME/examples/jars/spark-examples*.jar
10;date
1
2
3
4
5
6
/opt/soft/spark/bin/spark-submit
--class org.apache.spark.examples.SparkPi
--master yarn
--deploy-mode client
/opt/soft/spark/examples/jars/spark-examples*.jar
10

yarn 模式直接运行

1
2
3
4
5
6
7
8
$SPARK_HOME/bin/spark-submit --class org.apache.spark.examples.SparkPi
--master yarn
--deploy-mode cluster
--driver-memory 4g
--executor-memory 2g
--executor-cores 2
$SPARK_HOME/examples/jars/spark-examples*.jar
10

spark thrift server测试

  1. sparksql 测试
1
2
3
$SPARK_HOME/bin/spark-sql --executor-cores 1 --executor-memory 2G --num-executors 1 --master yarn  --name spark_sql_test

select count(*) from essd_db.ods_essd_dut_result