【发布时间】:2018-11-05 05:58:13
【问题描述】:
为了测试和学习 Spark 功能,开发者需要 Spark 最新版本。由于 2.0 版之前的 API 和方法已过时,并且在较新的版本中不再有效。这带来了更大的挑战,开发人员不得不手动安装 Spark,这会浪费大量的开发时间。
如何在 Quickstart VM 上使用更高版本的 Spark?
【问题讨论】:
标签: apache-spark cloudera cloudera-quickstart-vm
为了测试和学习 Spark 功能,开发者需要 Spark 最新版本。由于 2.0 版之前的 API 和方法已过时,并且在较新的版本中不再有效。这带来了更大的挑战,开发人员不得不手动安装 Spark,这会浪费大量的开发时间。
如何在 Quickstart VM 上使用更高版本的 Spark?
【问题讨论】:
标签: apache-spark cloudera cloudera-quickstart-vm
每个人都不应该浪费我浪费的设置时间,所以这里是解决方案。
Cloudera VM 上的 SPARK 2.2 安装设置
第 1 步:从链接下载 quickstart_vm:
首选 vmware 平台,因为它易于使用,无论如何所有选项都是可行的。
整个 tar 文件的大小约为 5.4gb。我们需要提供企业电子邮件 ID,因为它不接受个人电子邮件 ID。
第 2 步:虚拟环境需要大约 8gb 的 RAM,请分配足够的内存以避免性能故障。
第三步:请打开终端并切换到root用户为:
su root
password: cloudera
第 4 步:Cloudera 提供了 java –version 1.7.0_67,它很旧,不符合我们的需求。为避免java相关异常,请使用以下命令安装java:
wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
使用“cd /usr/java/”命令切换到 /usr/java/ 目录。
将java下载的tar文件cp到/usr/java/目录下。
使用“tar –zxvf jdk-8u31-linux-x64.tar.gz”解压目录
使用命令“vi ~/.bash_profile”打开配置文件
将 JAVA_HOME 导出到新的 java 目录。
export JAVA_HOME=/usr/java/jdk1.8.0_131
保存并退出。
为了体现上述变化,需要在shell上执行以下命令:
source ~/.bash_profile
Cloudera VM 默认提供 spark 1.6 版本。但是,1.6 API 是旧的,与生产环境不匹配。在这种情况下,我们需要下载并手动安装 Spark 2.2。
使用命令切换到 /opt/ 目录:
cd /opt/
使用命令下载 spark:
wget https://d3kbcqa49mib13.cloudfront.net/spark-2.2.0-bin-hadoop2.7.tgz
使用以下命令解压 spark tar:
tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz
我们需要定义一些环境变量作为默认设置:
请使用以下命令打开文件:
vi /opt/spark-2.2.0-bin-hadoop2.7/conf/spark-env.sh
在文件中粘贴以下配置:
SPARK_MASTER_IP=192.168.50.1
SPARK_EXECUTOR_MEMORY=512m
SPARK_DRIVER_MEMORY=512m
SPARK_WORKER_MEMORY=512m
SPARK_DAEMON_MEMORY=512m
保存退出
我们需要用以下命令启动spark:
/opt/spark-2.2.0-bin-hadoop2.7/sbin/start-all.sh
导出 spark_home :
export SPARK_HOME=/opt/spark-2.2.0-bin-hadoop2.7/
更改目录的权限:
chmod 777 -R /tmp/hive
尝试“spark-shell”,它应该可以工作。
【讨论】: