Apache spark 如何在EMR(AWS)Spark Hadoop Cluster for Java上加载本机库

Apache spark 如何在EMR(AWS)Spark Hadoop Cluster for Java上加载本机库,apache-spark,hadoop,amazon-emr,Apache Spark,Hadoop,Amazon Emr,我是EMR和Spark Hadoop集群的新手。 我必须在运行时为我的可执行文件xyz_spark.jar加载本机的abcd_linux.so库。所有JAR、本机库和引导文件都上传到s3存储桶(spark bucket),如下所示:- s3://spark-bucket/bootstrap/xyz_spark.jar s3://spark-bucket/bootstrap/bootstrap_action.sh s3://spark-bucket/bootstrap/linux/abcd_lin

我是EMR和Spark Hadoop集群的新手。 我必须在运行时为我的可执行文件xyz_spark.jar加载本机的abcd_linux.so库。所有JAR、本机库和引导文件都上传到s3存储桶(spark bucket),如下所示:-

s3://spark-bucket/bootstrap/xyz_spark.jar
s3://spark-bucket/bootstrap/bootstrap_action.sh
s3://spark-bucket/bootstrap/linux/abcd_linux.so
"--driver-java-options", "-Dcontext=dev/app_dev_steps.json -XX:-UseGCOverheadLimit -Dlog4j.configuration=/home/hadoop/log4j.xml -DLD_LIBRARY_PATH=/home/hadoop/linux",
其中,bootstrap\u action.sh

#!/bin/bash
export LD_LIBRARY_PATH=/home/hadoop/linux
aws s3 cp s3://spark-bucket/bootstrap/ /home/hadoop --recursive
ls -l /home/hadoop
加载的类/代码如下所示

val os = System.getProperty("os.name")
logger.info("Current OS is "+os)
println("Current OS is "+os)
if(os.toLowerCase().contains("windows")){
  System.loadLibrary("abcd_win")
}else{
  System.loadLibrary("abcd_linux")
}
和JAVA_选项被传递到应用程序,如下所示:-

s3://spark-bucket/bootstrap/xyz_spark.jar
s3://spark-bucket/bootstrap/bootstrap_action.sh
s3://spark-bucket/bootstrap/linux/abcd_linux.so
"--driver-java-options", "-Dcontext=dev/app_dev_steps.json -XX:-UseGCOverheadLimit -Dlog4j.configuration=/home/hadoop/log4j.xml -DLD_LIBRARY_PATH=/home/hadoop/linux",
但该库并没有被加载,并且无法找到任何正确的文档步骤来加载本机库