Spark与Alluxio的依赖包冲突问题

boy13860 boy13860 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
前情提要:
安装的spark版本为:spark-2.0.2-bin-hadoop2.7.tgz
安装的alluxio版本为:alluxio-1.4.0-hadoop2.7-bin.tar.gz
安装的hadoop版本为: 2.7.3

在服务器上的运行指令为
spark-submit --class com.hnust.cn.spark.SparkTest3 --master spark://X.X.X.X:7077 ./test.jar alluxio://SparkMaster:19998/hello_5G.txt


简单的测试代码为:
SparkSession sparkSession = SparkSession.builder().appName("Txt").getOrCreate();
JavaSparkContext jsc = new JavaSparkContext(sparkSession.sparkContext());
JavaRDD<String> rdd = jsc.textFile(args[0]);
Long sum = Long.valueOf(rdd.count());
System.out.println(sum);

在运行时报错
Exception in thread "main" java.lang.RuntimeException: java.lang.ClassNotFoundException: Class alluxio.hadoop.FileSystem not found

于是在spark-env.sh 里面增加classpath 关于alluxio-core-client-1.4.0-jar-with-dependencies.jar
export SPARK_CLASSPATH=$SPARK_CLASSPATH:/usr/local/alluxio/alluxio-1.4.0/core/client/target/alluxio-core-client-1.4.0-jar-with-dependencies.jar

成功运行测试
然后问题就出现了
问题1:SPARKUI 无法打开 http://sparkmaster:8080/ 无法正常打开
目前我只能先在 配置文件里面注释export SPARK_CLASSPATH = 。。。这一行
等Spark启动之后再自行添加 (其他的worker也是一样无法打开对应的UI界面)
然而我注释alluxio-core-client-1.4.0-jar-with-dependencies.jar之后 启动spark之后再在配置文件里面添加就运行正常+正常显示了
网页错误显示:
该网页无法正常运作
sparkmaster 未发送任何数据。
ERR_EMPTY_RESPONSE
(难道只能写个启动脚本,启动spark之前注释配置 启动之后修改配置?是哪里冲突出了问题??)

2.SparkWorker4: SLF4J: Class path contains multiple SLF4J bindings.
SparkWorker4: SLF4J: Found binding in [jar:file:/usr/local/hadoop/hadoop-2.7.3/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SparkWorker4: SLF4J: Found binding in [jar:file:/usr/local/alluxio/alluxio-1.4.0/core/client/target/alluxio-core-client-1.4.0-jar-with-dependencies.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SparkWorker4: SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SparkWorker4: SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
出现了这个问题 slf4j 重复
这个我将/usr/local/alluxio/alluxio-1.4.0/core/client/target/alluxio-core-client-1.4.0-jar-with-dependencies.jar
jar包解压缩之后 将SLF4J相关的class文件全删了 于是好了 但是觉得这个解决方法很Low 问一下这种问题怎么解决

附上一些东西:
spark-env.sh部分配置
export JAVA_HOME=/usr/local/java_jdk/jdk1.8.0_112
export JRE_HOME=$JAVA_HOME/jre
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.3
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"
export SCALA_HOME=/usr/local/scala/scala-2.11.8
export SPARK_CLASSPATH=$SPARK_CLASSPATH:$JRE_HOME/lib/ext/sqljdbc42.jar:/home/hadoop/sparkdata/fspt_dbf.jar
#export SPARK_CLASSPATH=$SPARK_CLASSPATH:/usr/local/alluxio/alluxio-1.4.0/core/client/target/alluxio-core-client-1.4.0-jar-with-dependencies.jar
export SPARK_CLASSPATH=$SPARK_CLASSPATH:/usr/local/hadoop/hadoop-2.7.3/share/hadoop/common/lib/alluxio-core-client-1.4.0-jar-with-dependencies2.jar



...全文

相关推荐

如何基于日志,同步实现数据的一致性和实时抽取?

【如何基于日志,同步实现数据的一致性和实时抽取】数据一致性与实时性是现代大数据处理中的关键问题,尤其在互联网金融行业中,确保数据的准确无误和及时更新至关重要。

weixin_38623366

大数据架构中的缓存策略:Redis vs Alluxio实战

在大数据架构中,Redis和Alluxio是两种定位完全不同但互补Redis:擅长低延迟、小数据量、高并发的实时场景(比如实时维度表缓存、热点数据访问),核心优势是「内存级别的响应速度」;Alluxio:擅长大数据量、跨存储、多引擎共享的批处理/混合场景(比如跨存储数据加速、批处理作业预热),核心优势是「统一命名空间+分层缓存」。本文将通过实战案例+性能对比Redis在大数据中的典型应用场景与实战步骤;Alluxio在大数据中的核心价值与部署实践;两者的性能差异与选型决策逻辑。维度。

AI应用架构探索者

电信运营基于分类模型的客户流失预警系统:数据挖掘驱动的精准挽留策略设计

内容概要:本文围绕电信客户流失预警与挽留策略,构建了一套从数据探索、预处理、特征工程、分类建模、模型评估与解释到业务落地的端到端数据挖掘实战方案。基于公开的 Telco Customer Churn 数据集,项目聚焦于识别高流失风险客户,并通过逻辑回归、随机森林和XGBoost等模型进行对比分析,结合ROC-AUC、精确率、召回率、F1等指标评估性能,利用SHAP等方法实现模型可解释性,最终将预测结果转化为可操作的客户分层与差异化挽留策略。文中强调了数据泄漏防范、类别不平衡处理、模型可复现性及A/B测试验证增量收益的重要性,并明确指出当前图表为示意性质,需通过附录代码运行真实数据生成结果。; 适合人群:具备一定数据分析与机器学习基础,从事数据科学、用户运营或客户留存相关工作的从业者,尤其是工作1-3年希望提升实战能力的研发与分析人员。; 使用场景及目标:①掌握客户流失预测的全流程方法论,包括数据清洗、特征工程、建模调参与模型解释;②学习如何将机器学习模型输出转化为可运营的客户触达策略;③理解模型评估与业务目标之间的衔接,如预算约束下的优先级排序与A/B测试设计; 阅读建议:此资源以实际业务场景驱动,不仅关注算法实现,更重视从业务定义到策略落地的闭环逻辑。建议结合附录提供的完整Python代码,在本地环境中下载数据集并复现分析流程,重点关注数据预处理防泄漏机制、模型管道构建、超参数调优策略及SHAP解释应用,避免将文中的示意图表误认为实测结果。

云博士的AI课堂

旋转高频信号注入法在PMSM零低速无位置控制中的仿真研究(Matlab代码实现)

内容概要:本文系统研究了旋转高频信号注入法在永磁同步电机(PMSM)零低速无位置传感器控制中的应用,并提供了基于Matlab/Simulink的完整仿真代码实现。针对PMSM在启动及低速运行时反电动势微弱导致传统观测器失效的问题,该方法通过在定子绕组中注入高频旋转电压信号,利用电机自身凸极效应产生的响应电流特征,实现对转子位置的高精度在线估计。文中详细阐述了该技术的理论基础、数学建模过程、仿真系统架构设计以及关键参数整定方法,全面验证了其在零速和低速工况下对转子初始位置辨识与动态跟踪的准确性、有效性及强鲁棒性。; 适合人群:具备电机控制理论基础知识和Matlab/Simulink仿真能力的电气工程、自动化、电力电子等相关专业的硕士研究生、博士研究生、科研人员以及从事高性能电机驱动系统研发的工程师。; 使用场景及目标:① 深入理解高频信号注入类无位置传感器控制技术的工作原理、信号处理机制与工程实现细节;② 掌握利用Matlab/Simulink搭建PMSM高性能矢量控制系统及高级观测器的仿真方法;③ 为开发高精度、低成本、全速度范围适用的PMSM无位置传感器驱动器提供坚实的理论依据和技术验证平台。; 阅读建议:建议读者结合文中详尽的理论推导与所提供的仿真代码进行对照学习,亲自动手运行、调试仿真模型,通过改变负载、转速、注入信号参数等工况,观察系统响应与控制效果的变化,从而深刻掌握旋转高频注入法的内在工作机制与设计要点。

威武编程狮

Python小Demo实例源码爬取网易云音乐评论

Python小Demo实例源码爬取网易云音乐评论

zz_ll9023one
评论 1
收藏 已收藏
分享
返回顶部
boy13860
Spark 1,274 成员 1,171 内容