我已经使用 Spark 部署了一个 Amazon EC2 集群,如下所示:
~/spark-ec2 -k spark -i ~/.ssh/spark.pem -s 2 --region=eu-west-1 --spark-version=1.3.1 launch spark-cluster
我首先将我需要的文件复制到主服务器,然后使用以下命令从主服务器复制到 HDFS:
ephemeral-hdfs/bin/hadoop fs -put ~/ANTICOR_2_10000.txt ~/user/root/ANTICOR_2_10000.txt
我有一个要运行的 jar,它是用 JDK 8 编译的(我使用了很多 Java 8 功能),所以我将它复制过来scp
并运行它:
spark/bin/spark-submit --master spark://public_dns_with_port --class package.name.to.Main job.jar -f hdfs://public_dns:~/ANTICOR_2_10000.txt
问题是spark-ec2
使用 JDK7 加载集群,所以我得到了Unsupported major.minor version 52.0
我的问题是,我需要将JDK7更改为JDK8的所有地方都有哪些?
到目前为止,我在 master 上执行的步骤是:
- 用 yum 安装 JDK8
- 使用
sudo alternatives --config java
首选 java 并将其更改为 java-8 export JAVA_HOME=/usr/lib/jvm/openjdk-8
我必须对所有节点都这样做吗?我还需要更改 hadoop 使用的 java 路径ephemeral-hdfs/conf/hadoop-env.sh
还是我错过了其他任何地方?