hadoop - 在使用 ./spark-ec2 部署的集群上更改 JDK

标签 hadoop amazon-ec2 apache-spark spark-ec2

我已经使用 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

我先将我需要的文件复制到 master,然后从 master 复制到 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 在 ephemeral-hdfs/conf/hadoop-env.sh 中使用的 java 路径,还是我遗漏了其他任何地方?

最佳答案

不幸的是,Amazon 不提供开箱即用的 Java 8 安装,但是:see available versions .

你见过this post吗?如何在运行的实例上安装它?

关于hadoop - 在使用 ./spark-ec2 部署的集群上更改 JDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34501386/

相关文章:

hadoop - 启动后如何在沙箱上启动h2o

Hadoop 备份和恢复工具和指南

python - 如何创建sqoop mysql到hive分区?

php - 在弹性beanstalk AWS中部署应用程序

python - 我们如何使用 Spark 和 Scala 为 Elasticsearch 索引定义过滤器/属性?

hadoop - hadoop 安装过程中无法运行 yarn

amazon-web-services - aws ec2 ssh 错误 : `ssh: connect to host x port 22: Operation timed out`

linux - 如何增加 Linux 中 Docker 可用的 CPU 和内存?

apache-spark - 管道中的 Spark 访问估计器

java - 需要根据 1 列的值在数据集的列中设置值